diff --git a/Android.mk b/Android.mk
index f9f2628..f3dc3d6 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,5 +1,5 @@
 # We need a way to prevent the stuff Google Apps replaces from being included in the build.
 # This is a hacky way to do that.
 ifdef CYANOGEN_WITH_GOOGLE
-    PACKAGES.Email.OVERRIDES := Provision LatinIME QuickSearchBox
+    PACKAGES.Email.OVERRIDES := Provision QuickSearchBox
 endif
diff --git a/get-google-files b/get-google-files
deleted file mode 100755
index 009e169..0000000
--- a/get-google-files
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-import sys, random, urllib2, zipfile, StringIO, os
-from optparse import OptionParser
-
-FILENAME=["gapps-gb-20110613-signed.zip","gapps-hdpi-20101114-signed.zip","gapps-mdpi-20110501-signed.zip","gapps-mdpi-tiny-20101020-signed.zip","gapps-mdpi-tegra-20101020-signed.zip","gapps-passion-EPE54B-signed.zip","gapps-ds-ERE36B-signed.zip","DRC83_base_defanged.zip"]
-VERSIONS=["gb","hdpi","mdpi","mdpi-tiny","tegra","cm5hdpi","cm5mdpi","cm4"]
-MIRRORS=["http://goo-inside.me/gapps/","http://android.d3xt3r01.tk/cyanogen/gapps/"]
-
-def device():
-    print "usage: get-google-files -m [method] -v [version]"
-    print "Note:  Device method is currently not implemented, please use download"
-    sys.exit(1)
-
-def download(version):
-    try:
-        os.makedirs(os.path.join(os.path.dirname(__file__), "proprietary"))
-    except:
-        pass
-    if len(MIRRORS) > 1:
-        i = random.randrange(0, len(MIRRORS)-1)
-    else:
-        i = 0
-
-    try:
-        j = VERSIONS.index(version.lower())
-    except ValueError:
-	print "GApps version not found, defaulting to HDPI"
-        j = 0
-
-    url = MIRRORS[i] + FILENAME[j]
-
-    print "Fetching %s GApps from %s" % (version.upper(),url)
-
-    data = urllib2.urlopen(url).read()
-    zip = zipfile.ZipFile(StringIO.StringIO(data),'r')
-    
-    for filename in zip.namelist():
-        if filename.split("/")[0] == "system" and filename[-1] != "/":
-            print "Extracting %s" % filename
-            try:
-                bytes = zip.read(filename)
-                fd = open(os.path.join(os.path.dirname(__file__), "proprietary", os.path.basename(filename)),"wb")
-                fd.write(bytes)
-                fd.close()
-            except Exception, e:
-                print e
-                pass
-
-def main():
-    parser = OptionParser(usage="usage: %prog [options]")
-    parser.add_option("-m", "--method", dest='method', default="download", help="Extraction Method: download")
-    parser.add_option("-v", "--version", dest='version', default="gb", help="GApps Version: gb, hdpi, mdpi, mdpi-tiny, tegra, cm5hdpi, cm5mdpi, cm4 [default: gb]")
-    (options, args) = parser.parse_args()
-
-    if options.method == "device":
-        return device()
-
-    if options.method == "download":
-        return download(options.version)
-
-if __name__ == '__main__':
-    main()
diff --git a/overlay/fascinatemtd/frameworks/base/core/res/res/values/config.xml b/overlay/fascinatemtd/frameworks/base/core/res/res/values/config.xml
new file mode 100644
index 0000000..8b667e7
--- /dev/null
+++ b/overlay/fascinatemtd/frameworks/base/core/res/res/values/config.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2009, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License"); 
+** you may not use this file except in compliance with the License. 
+** You may obtain a copy of the License at 
+**
+**     http://www.apache.org/licenses/LICENSE-2.0 
+**
+** Unless required by applicable law or agreed to in writing, software 
+** distributed under the License is distributed on an "AS IS" BASIS, 
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+** See the License for the specific language governing permissions and 
+** limitations under the License.
+*/
+-->
+<resources>
+
+    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not 
+         specified -->
+    <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>
+
+</resources>
diff --git a/overlay/fascinatemtd/packages/apps/CMParts/res/values/config.xml b/overlay/fascinatemtd/packages/apps/CMParts/res/values/config.xml
new file mode 100644
index 0000000..357f4bf
--- /dev/null
+++ b/overlay/fascinatemtd/packages/apps/CMParts/res/values/config.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <!-- Whether or not to display the trackball settings -->
+    <bool name="has_trackball">false</bool>
+    <bool name="has_rgb_notification_led">false</bool>
+    <bool name="has_camera_button">false</bool>
+    <bool name="has_led_flash">true</bool>
+    <bool name="has_search_button">true</bool>
+</resources>
diff --git a/prebuilt/common/etc/apns-conf.xml b/prebuilt/common/etc/apns-conf.xml
index 3c18719..f9dff7a 100644
--- a/prebuilt/common/etc/apns-conf.xml
+++ b/prebuilt/common/etc/apns-conf.xml
@@ -194,8 +194,7 @@
   <apn carrier="O2 MOBILE WEB" mcc="234" mnc="02" apn="mobile.o2.co.uk" user="O2web" password="O2web" type="default,supl" />
   <apn carrier="O2 MMS Prepay" mcc="234" mnc="02" apn="payandgo.o2.co.uk" user="payandgo" password="password" mmsc="http://mmsc.mms.o2.co.uk:8002" mmsproxy="193.113.200.195" mmsport="8080" type="mms" />
   <apn carrier="O2 MMS Postpay" mcc="234" mnc="02" apn="wap.o2.co.uk" user="o2wap" password="password" mmsc="http://mmsc.mms.o2.co.uk:8002" mmsproxy="193.113.200.195" mmsport="8080" type="mms" />
-  <apn carrier="GiffGaff" mcc="234" mnc="10" apn="giffgaff.com" user="giffgaff" password="password" proxy="193.113.200.195" port="8080" type="default,supl" />
-  <apn carrier="GiffGaff MMS" mcc="234" mnc="10" apn="giffgaff.com" user="giffgaff" password="password" server="http://mmsc.mediamessaging.co.uk:8002" mmsc="http://mmsc.mediamessaging.co.uk:8002" mmsproxy="193.113.200.195" mmsport="8080" type="mms" />
+  <apn name="Giffgaff" numeric="23410" mcc="234" mnc="10" apn="giffgaff.com" user="giffgaff" server="http://mmsc.mediamessaging.co.uk:8002" password="password" proxy="" port="" mmsproxy="193.113.200.195" mmsport="8080" mmsprotocol="null" mmsc="http://mmsc.mediamessaging.co.uk:8002" type="default,supl,mms" />
   <apn carrier="O2 UK MMS" mcc="234" mnc="10" apn="idata.o2.co.uk" user="vertigo" password="password" mmsc="http://mmsc.mms.o2.co.uk:8002" mmsproxy="193.113.200.195" mmsport="8080" type="mms" />
   <apn carrier="O2 UK" mcc="234" mnc="10" apn="mobile.o2.co.uk" user="O2web" password="O2web" type="default,supl" />
   <apn carrier="O2 UK" mcc="234" mnc="10" apn="mobile.o2.co.uk" user="vertigo" type="default,supl,mms" />
diff --git a/products/AndroidProducts.mk b/products/AndroidProducts.mk
index 44d169c..fcb0549 100644
--- a/products/AndroidProducts.mk
+++ b/products/AndroidProducts.mk
@@ -13,6 +13,7 @@
     $(LOCAL_DIR)/cyanogen_droid2.mk \
     $(LOCAL_DIR)/cyanogen_encore.mk \
     $(LOCAL_DIR)/cyanogen_espresso.mk \
+    $(LOCAL_DIR)/cyanogen_fascinatemtd.mk \
     $(LOCAL_DIR)/cyanogen_hero.mk \
     $(LOCAL_DIR)/cyanogen_heroc.mk \
     $(LOCAL_DIR)/cyanogen_inc.mk \
diff --git a/products/common.mk b/products/common.mk
index ec51c12..6c6bbb6 100644
--- a/products/common.mk
+++ b/products/common.mk
@@ -97,47 +97,33 @@
 #ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0
 
 ifdef CYANOGEN_WITH_GOOGLE
-    PRODUCT_COPY_FILES += \
-        vendor/cyanogen/proprietary/CarHomeGoogle.apk:./system/app/CarHomeGoogle.apk \
-        vendor/cyanogen/proprietary/CarHomeLauncher.apk:./system/app/CarHomeLauncher.apk \
-        vendor/cyanogen/proprietary/Facebook.apk:./system/app/Facebook.apk \
-        vendor/cyanogen/proprietary/GenieWidget.apk:./system/app/GenieWidget.apk \
-        vendor/cyanogen/proprietary/Gmail.apk:./system/app/Gmail.apk \
-        vendor/cyanogen/proprietary/GoogleBackupTransport.apk:./system/app/GoogleBackupTransport.apk \
-        vendor/cyanogen/proprietary/GoogleCalendarSyncAdapter.apk:./system/app/GoogleCalendarSyncAdapter.apk \
-        vendor/cyanogen/proprietary/GoogleContactsSyncAdapter.apk:./system/app/GoogleContactsSyncAdapter.apk \
-        vendor/cyanogen/proprietary/GoogleFeedback.apk:./system/app/GoogleFeedback.apk \
-        vendor/cyanogen/proprietary/GooglePartnerSetup.apk:./system/app/GooglePartnerSetup.apk \
-        vendor/cyanogen/proprietary/GoogleQuickSearchBox.apk:./system/app/GoogleQuickSearchBox.apk \
-        vendor/cyanogen/proprietary/GoogleServicesFramework.apk:./system/app/GoogleServicesFramework.apk \
-        vendor/cyanogen/proprietary/HtcCopyright.apk:./system/app/HtcCopyright.apk \
-        vendor/cyanogen/proprietary/HtcEmailPolicy.apk:./system/app/HtcEmailPolicy.apk \
-        vendor/cyanogen/proprietary/HtcSettings.apk:./system/app/HtcSettings.apk \
-        vendor/cyanogen/proprietary/LatinImeTutorial.apk:./system/app/LatinImeTutorial.apk \
-        vendor/cyanogen/proprietary/Maps.apk:./system/app/Maps.apk \
-        vendor/cyanogen/proprietary/MarketUpdater.apk:./system/app/MarketUpdater.apk \
-        vendor/cyanogen/proprietary/MediaUploader.apk:./system/app/MediaUploader.apk \
-        vendor/cyanogen/proprietary/NetworkLocation.apk:./system/app/NetworkLocation.apk \
-        vendor/cyanogen/proprietary/OneTimeInitializer.apk:./system/app/OneTimeInitializer.apk \
-        vendor/cyanogen/proprietary/PassionQuickOffice.apk:./system/app/PassionQuickOffice.apk \
-        vendor/cyanogen/proprietary/SetupWizard.apk:./system/app/SetupWizard.apk \
-        vendor/cyanogen/proprietary/Street.apk:./system/app/Street.apk \
-        vendor/cyanogen/proprietary/Talk.apk:./system/app/Talk.apk \
-        vendor/cyanogen/proprietary/Twitter.apk:./system/app/Twitter.apk \
-        vendor/cyanogen/proprietary/Vending.apk:./system/app/Vending.apk \
-        vendor/cyanogen/proprietary/VoiceSearch.apk:./system/app/VoiceSearch.apk \
-        vendor/cyanogen/proprietary/YouTube.apk:./system/app/YouTube.apk \
-        vendor/cyanogen/proprietary/googlevoice.apk:./system/app/googlevoice.apk \
-        vendor/cyanogen/proprietary/kickback.apk:./system/app/kickback.apk \
-        vendor/cyanogen/proprietary/soundback.apk:./system/app/soundback.apk \
-        vendor/cyanogen/proprietary/talkback.apk:./system/app/talkback.apk \
-        vendor/cyanogen/proprietary/com.google.android.maps.xml:./system/etc/permissions/com.google.android.maps.xml \
-        vendor/cyanogen/proprietary/features.xml:./system/etc/permissions/features.xml \
-        vendor/cyanogen/proprietary/com.google.android.maps.jar:./system/framework/com.google.android.maps.jar \
-        vendor/cyanogen/proprietary/libspeech.so:./system/lib/libspeech.so
+
+    # use all present proprietary apk
+    PRODUCT_COPY_FILES += $(shell test -f vendor/cyanogen/proprietary/*.apk && \
+	find vendor/cyanogen/proprietary -name '*.apk' \
+	-printf '%p:system/app/%f ')
+
+    # use all present proprietary lib
+    PRODUCT_COPY_FILES += $(shell test -f vendor/cyanogen/proprietary/*.lib && \
+	find vendor/cyanogen/proprietary -name '*.so' \
+	-printf '%p:system/lib/%f ')
+
+    # use all present proprietary jar
+    PRODUCT_COPY_FILES += $(shell test -f vendor/cyanogen/proprietary/*.jar && \
+	find vendor/cyanogen/proprietary -name '*.jar' \
+	-printf '%p:system/framework/%f ')
+
+    # use all present proprietary xml (permissions)
+    PRODUCT_COPY_FILES += $(shell test -f vendor/cyanogen/proprietary/*.xml && \
+	find vendor/cyanogen/proprietary -name '*.xml' \
+	-printf '%p:system/etc/permissions/%f ')
+
 else
     PRODUCT_PACKAGES += \
         Provision \
-        GoogleSearch \
-        LatinIME
+        GoogleSearch
 endif
+
+# Required, keyboard
+PRODUCT_PACKAGES += LatinIME
+
diff --git a/products/cyanogen_crespo4g.mk b/products/cyanogen_crespo4g.mk
index ebcd1e6..fd2d961 100644
--- a/products/cyanogen_crespo4g.mk
+++ b/products/cyanogen_crespo4g.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := crespo4g
 PRODUCT_MODEL := Nexus S 4G
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GRJ22 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=sojus BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GRJ22 BUILD_FINGERPRINT=google/sojus/crespo4g:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="sojus-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
 
 # Extra Crespo overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/crespo4g
diff --git a/products/cyanogen_fascinatemtd.mk b/products/cyanogen_fascinatemtd.mk
new file mode 100644
index 0000000..a257984c
--- /dev/null
+++ b/products/cyanogen_fascinatemtd.mk
@@ -0,0 +1,40 @@
+# Inherit AOSP device configuration for fascinatemtd.
+$(call inherit-product, device/samsung/fascinatemtd/full_fascinatemtd.mk)
+
+# Inherit some common cyanogenmod stuff.
+$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+
+#
+# Setup device specific product configuration.
+#
+PRODUCT_NAME := cyanogen_fascinatemtd
+PRODUCT_BRAND := samsung
+PRODUCT_DEVICE := fascinatemtd
+PRODUCT_MODEL := SCH-I500
+PRODUCT_MANUFACTURER := samsung
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GRJ22 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys"
+
+# Extra fascinatemtd overlay
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/fascinatemtd
+
+#
+# Set ro.modversion
+#
+ifdef CYANOGEN_NIGHTLY
+    PRODUCT_PROPERTY_OVERRIDES += \
+        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Fascinate
+else
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.1.0-Fascinate
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-7.1.0-Fascinate-KANG-$(shell date +%m%d)
+    endif
+endif
+
+#
+# Copy galaxys specific prebuilt files
+#
+PRODUCT_COPY_FILES +=  \
+    vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_sholes.mk b/products/cyanogen_sholes.mk
index ebd355d..40de0bb 100644
--- a/products/cyanogen_sholes.mk
+++ b/products/cyanogen_sholes.mk
@@ -29,7 +29,7 @@
     endif
 endif
 
-PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=FRG83D BUILD_DISPLAY_ID=GRJ22 PRODUCT_NAME=voles TARGET_DEVICE=sholes BUILD_FINGERPRINT=verizon/voles/sholes/sholes:2.2.1/FRG83D/75603:user/release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="voles-user 2.2.1 FRG83D 75603 release-keys" BUILD_NUMBER=75603 BUILD_UTC_DATE=1289367602 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=android-build
+PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=FRG83G BUILD_DISPLAY_ID=GRJ22 PRODUCT_NAME=voles TARGET_DEVICE=sholes BUILD_FINGERPRINT=verizon/voles/sholes/sholes:2.2.2/FRG83G/91102:user/release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="voles-user 2.2.2 FRG83G 91102 release-keys" BUILD_NUMBER=91102 BUILD_UTC_DATE=1294972140 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=android-build
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/vendorsetup.sh b/vendorsetup.sh
index 6a08d27..8947dfe 100644
--- a/vendorsetup.sh
+++ b/vendorsetup.sh
@@ -12,6 +12,7 @@
 add_lunch_combo cyanogen_droid2-eng
 add_lunch_combo cyanogen_encore-eng
 add_lunch_combo cyanogen_espresso-eng
+add_lunch_combo cyanogen_fascinatemtd-eng
 add_lunch_combo cyanogen_galaxysmtd-eng
 add_lunch_combo cyanogen_generic-eng
 add_lunch_combo cyanogen_glacier-eng
