diff --git a/build/envsetup.sh b/build/envsetup.sh
index dc0fba0..0a3b697 100644
--- a/build/envsetup.sh
+++ b/build/envsetup.sh
@@ -935,11 +935,118 @@
 
 function blissify()
 {
+	abt="$ANDROID_BUILD_TOP"
+	cd $abt
+	clean="n"
+	deviceclean="n"
+	export BLISS_BUILD_VARIANT=vanilla
+	while test $# -gt 0
+	do
+	  case $1 in
+
+	  # Normal option processing
+		-h | --help)
+		  echo "Usage: $0 options deviceCodename "
+		  echo "options: -h | --help: Shows this dialog"
+		  echo "         -c | --clean: Clean up before running the build"
+		  echo "         -d | --devclean: Clean up device tree before running the build"
+		  echo "         -v | --vanilla: Build with no added app store solution **default option** "
+		  echo "         -g | --gapps: Build with Google Play Services added"
+		  echo "         -f | --fossa: build with FOSS (arm64-v8a) app store solutions added"
+		  echo "         -F | --fossx: build with FOSS (x86_64) app store solutions added"
+		  echo ""
+		  echo "deviceCodename: "
+		  echo "your device codename, without the 'bliss_' in front"
+		  echo ""
+		  ;;
+		-c | --clean)
+		  clean="y";
+		  echo "Cleaning build and device tree selected."
+		  ;;
+		-d | --devclean)
+		  deviceclean="y";
+		  echo "Cleaning device tree selected."
+		  ;;
+		-v | --vanilla)
+		  echo "Building as stock (no gapps) **DEFAULT**"
+		  export BLISS_BUILD_VARIANT=vanilla
+		  ;;
+		-g | --gapps)
+		  echo "Building with gapps"
+		  export BLISS_BUILD_VARIANT=gapps
+		  ;;
+		-f | --fossa)
+		  echo "Building with FOSS apps for arm64-v8a support"
+		  export BLISS_BUILD_VARIANT=foss
+		  cd vendor/foss
+		  bash update.sh 2
+		  cd $abt
+		  ;;
+		-F | --fossx)
+		  echo "Building with FOSS apps for x86_64 support"
+		  export BLISS_BUILD_VARIANT=foss
+		  cd vendor/foss
+		  bash update.sh 1
+		  cd $abt
+		  ;;
+		
+	  # ...
+
+	  # Special cases
+		--)
+		  echo "Please use --help to verify correct usage"
+		  break
+		  ;;
+		--*)
+		  # error unknown (long) option $1
+		  echo "Please use --help to verify correct usage"
+		  break
+		  ;; 
+		-?)
+		  echo "Please use --help to verify correct usage"
+		  # error unknown (short) option $1
+		  break
+		  ;;
+
+	  # FUN STUFF HERE:
+	  # Split apart combined short options
+		-*)
+		  split=$1
+		  shift
+		  set -- $(echo "$split" | cut -c 2- | sed 's/./-& /g') "$@"
+		  continue
+		  ;;
+
+	  # Done with options
+		*)
+		  break
+		  ;;
+	  esac
+
+	  # for testing purposes:
+	  shift
+	done
+	
+	if [ $clean == "y" ];then
+		echo "Cleaning up a bit"
+		make clean && make clobber
+	fi
+	
+	if [ $deviceclean == "y" ];then
+		echo "Doing some device cleanup"
+		make deviceclean
+	fi
+	
+	if [ "$1" == "" ]; then
+		echo "No device name specified. Please use --help to verify correct usage"
+		return 0
+	fi
+	
     breakfast $*
     if [ $? -eq 0 ]; then
         mka blissify
     else
-        echo "No such item in brunch menu. Try 'breakfast'"
+        echo "No such item in brunch menu. Try 'breakfast' or verify your product is added to AndroidProducts.mk"
         return 1
     fi
     return $?
diff --git a/config/common.mk b/config/common.mk
index bd6fe44..6b88f1c 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -158,5 +158,15 @@
     FodAnimationResources
 endif
 
+# FOSS Apps
+ifeq ($(BLISS_BUILD_VARIANT), foss)
+$(call inherit-product, vendor/foss/foss.mk)
+endif
+
+# Go-gapps
+ifeq ($(BLISS_BUILD_VARIANT), goapps)
+$(call inherit-product, vendor/gapps-go/gapps-go.mk)
+endif
+
 -include $(WORKSPACE)/build_env/image-auto-bits.mk
 -include vendor/bliss/config/partner_gms.mk
