diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
deleted file mode 100644
index 8b32915..0000000
--- a/CHANGELOG.mkdn
+++ /dev/null
@@ -1,347 +0,0 @@
-CyanogenMod
-===============
-
-Visit http://github.com/CyanogenMod for full source and git access.
-
-Visit http://review.cyanogenmod.org for our Gerrit instance.
-
-CHANGELOG (notable new features)
----------
-
-### 12.1 YOG4PAO3
-* Common: Android 5.1.1 (Google)
-* Android Security Bulletin – October 5th update
-
-### 12.1 YOG4PAO2
-* Common: Android 5.1.1 (Google)
-* New Devices: Andromax Q (rendang), Galaxy S5 China (kltechn), Galaxy S5 Duos (klteduos), Galaxy S5 Duos China (kltechnduo)
-* IMAP idle support
-* SDK v1 release
-* Stagefright security fixes
-
-### 12.0
-* Common: Android 5.0 (Google)
-
-### 11.0.0 M12
-* Common: Android 4.4.4 (Google)
-* patches against POODLE vulnerability in SSLv3
-* Multi-sim improvements throughout the OS experience
-
-### 11.0.0 M11
-* Common: Android 4.4.4 (Google)
-* New Devices: Galaxy S4 Active (jactivelte), Galaxy S4 SK I-9506 (ks01lte), Galaxy S5 GSM (klte), Galaxy Tab 10.1 (picassowifi), Galaxy Player 4.0 (ypg1)
-* Re-introduce Samsung Galaxy Relay 4G (apexqtmo) support
-* Fix signal strength showing ’2147483647′ on certain devices
-* Frameworks & Core Apps: CAF and other upstream updates
-* Lockscreen: Do not play sounds while a phone call is active & MSIM updates
-* Frameworks: Add base & MSIM APIs for SEEK (Secure Element Evaluation Kit) support
-* Frameworks: Fix volume button changing two ‘steps’ per click
-* Frameworks: Add ‘Screen Off’ action for double-tap/long-press configuration options
-* Show devices connected to your WiFi (tethering) Hotspot
-* Fix bug related to ‘switch to last app’ action while in Recents view
-* Fix Navigation Bar arrow keys in RTL locales
-* Translations updates from CyanogenMod CrowdIn team
-* Adjustments to ‘Glove Mode’ (High Touch Sensitivity)
-* APN Updates for various regions
-* Camera: Add support for all available Slow Shutter speeds (hardware dependent); Improve shutter button
-* Dialer/InCallUI: Fix smartcover always showing answer fragment
-* LG G2: Address GPS and NFC issues
-* Base support for HTC Desire 816 & HTC One Mini 2 (pending nightlies)
-* Various security updates
-* General bug fixes
-
-### 11.0.0 M10
-* Common: Android 4.4.4 (Google)
-* New Devices: Galaxy S5 Sprint (kltespr)
-* Split out Note 3 into GSM (hlte), Sprint (hltespr) and Verizon (hltevzw)
-* Refactor moto_msm8960dt as 'ghost' for Moto X 2013
-* Drop support for obake, toro, toroplus
-* Theme Engine: Themes support for additional UI elements
-* Frameworks & Core Apps: CAF and other upstream updates
-* Settings: Add scramble pin feature
-* Frameworks: Long press recent apps to switch to last used app
-* Settings: Add soft reboot option
-* Add smart cover support
-* Add glove mode support
-* Add bug reporter and crash log uploader
-* Multisim updates
-* General bug fixes
-* ANT+ Support for various hardware
-* Privacy Guard: Control NFC permissions
-
-### 11.0.0 M9
-* Common: Android 4.4.4 (Google)
-* New Devices: Sony Xperia Z2 Tablets (castor); HTC One (m8)
-* Theme Engine: Themes support for additional UI elements
-* Lockscreen: Allow doubletap to sleep when using secure keyguard
-* Settings: Safe Headset Volume – prompt when interfering with 3rd party device (Jawbone, Square, etc)
-* Settings: Center clock support
-* Settings: Proximity Wake-Up support
-* Settings: Spam notification filtering
-* Settings Search: Additional improvements and highlighting
-* Data Usage Info: Add support for CDMA devices without sim cards
-* Bluetooth: Add additional A2DP profiles
-* Bluetooth: Disable AVRCP 1.5 by default (fixes various car unit compatibility)
-* Email: Fix saving attachments to storage for POP3 accounts
-* Account for Play Services induced wake-locks
-* Fix encryption on some LG Devices
-* Dialer: add support for Korean and Chinese to smart-dialer
-
-### 11.0.0 M8
-* Common: Android 4.4.4 (Google)
-* New Devices: Sony Xperia Z2 (sirius); Xiaomi Mi2 (aries); Oppo Find 7a/s (find7); OnePlus One (bacon)
-* Common: Fix VPN issues related to 4.4.3 merge
-* Common: Enable 'Heads Up' notification mode (Settings > Notifications)
-* Settings: 'Interface' replaced by 'Status Bar', 'Notification Drawer', and 'Gestures'
-* Settings: Moved 'Expanded Desktop' to 'Display'
-* Settings: Moved all lock screen related items to 'Lock Screen' and removed duplicates from 'Security'
-* Settings: Moved 'Navigation Bar' layout control to 'Buttons'
-* Trebuchet: Custom Homescreen grid size
-* Trebuchet: Add Protected Apps feature
-* Trebuchet: Add Search Panel (Google Now) option
-* WhisperPush: No longer ignores 'Blacklist'
-* Futex: Protect against Towelroot
-* Various small bugfixes, global and device-specific
-
-### 11.0.0 M7
-* Common: Android 4.4.2 (Google)
-* New Devices: HTC One (m8); Samsung Galaxy Tab Pro 8.4 (mondrianwifi); Galaxy Note 8.0 LTE (n5120); LG G2 Docomo (l01f)
-* Common: Theme Chooser UI Overhaul
-* Common: Calculator app redesign (courtesy Xlythe)
-* Common: Performance Profiles
-* Common: Improved theming performance on low memory devices (~512MB RAM or less)
-* Trebuchet: Move settings to new slide-out panel
-* Trebuchet: Consolidate settings for home and drawer options
-* Media: Add FFMPEG support (expanded media format support)
-* Bluetooth: Improved support for new car audio systems and docks
-* Various small bugfixes, global and device-specific
-
-### 10.2.0
-* Common: Android 4.3 (Google)
-* Common: Privacy Guard 2.0 with AppOps
-* Common: Quick Settings Ribbon (replaces Notification Power Widgets)
-* Common: Hardware Tunables HAL
-* Common: Settings restructure
-* SMS: Voice+ (Google Voice integration)
-* SMS: Middleware layer
-* APN: World Phone Support (unified APN list)
-* Trebuchet: Universal Icon Pack support
-* Various small bugfixes, global and device-specific
-
-### 10.1.3
-* Common: CyanogenMod Account
-* Common: Privacy Guard
-* Common: Dialer blacklists
-* Common: Wake-on-Home
-* Common: QuickSettings camera
-* Common: Profile improvements
-* Various small bugfixes, global and device-specific
-
-### 10.1.2
-* Master Key #2 fix
-
-### 10.1.1
-* Master Key #1 fix
-
-### 10.1.0
-* Common: Android 4.2.2 (Google)
-* Common: cLock Lockscreen and Homescreen Widget
-* Common: Theme Engine Support
-* Common: Customize Navigation Bar (on devices without hardware keys)
-* Common: Customize Notification Light
-* Common: Display Battery Light
-* Common: Profiles with NFC support
-* Common: Customize Screen Rotation
-* Common: Notification Power Widgets
-* Common: DSP Manager
-* Common: Volume Rocker Wake
-* Common: Performance Settings (I/O Scheduler, CPU Governor, etc)
-* Quick Settings: Panel Customization
-* Quick Settings: Toggle QS panel with horizontal swipe
-* Quick Settings: Split QS actionable area
-* Quick Settings: Added QS Tiles
-* Status Bar: Hide or Show Clock
-* Status Bar: Battery Percentage and Circle Battery
-* Status Bar: Show Notification Counts
-* Status Bar: Signal Status Customization
-* Status Bar: Set Date and Time as buttons (with longpress actions)
-* Trebuchet: Launcher Updates
-* Lockscreen: Slider Shortcuts
-* Lockscreen: Maximize Widgets on Wake
-
-### 10.0.0
-* Common: Android 4.1.2 (Google)
-
-### 9.0.0
-* Common: Android 4.0.4 (Google)
-
-### 7.1.0
-* Common: Android 2.3.7 (Google)
-* Common: Bluetooth mouse support - Scott Brady
-* Common: Improve notification swipe-to-clear - Evan Charlton
-* Common: Improve album-artist support in media scanner - Paul Crovella
-* Common: Profile improvements and bugfixes - Martin Long, Danny Baumann, Robert Burns
-* Common: RTL text improvements - Eyad Aboulouz, Eran Mizrahi
-* Common: Wake on volume key option - Sven Dawitz
-* Common: Support for revoking application permissions - Plamen K. Kosseff
-* Common: Latest Superuser app - ChainsDD
-* Common: Control brightness by sliding on statusbar - Danesh M
-* Common: Add "copy all" to context menu - Danesh M
-* Common: Lockscreen haptic and statusbar indicators toggle - Danesh M
-* Common: Nicer timepicker/datepicker - Jiri Tyr
-* Common: Configuration 0/90/180/270 rotation - Jonas Larsson, Scott Brady
-* Common: DSP Manager bugfixes and improvements - Antti S Lankila
-* Common: Support for launching apps via gestures in the background - Jiri Tyr
-* Common: Option to hide hold button during call - Roberto Leinardi
-* Common: Allow using wildcards for call blacklisting - Nihanth Subramanya
-* Common: Option to allow in-call lockscreen to match main lockscren - Sven Dawitz
-* Common: Option to notify about incoming call only in background when screen is on - Pavel Kucera
-* Common: ADWLauncher- Transitions, catalog improvements, bugfixes - John Van Etten
-* Common: Optional GMT correction for SMS/MMS timestamps - Terry Hau
-* Common: Add FM Seek for TI devices - KalimochoAz
-* Common: Add FM support for SI4708 devices (Blade, V9, Racer) - Stéphane Konstantaropoulos
-* Common: Add FM seek implementation to FM application - Tom Giordano
-* Common: Show current FM status on lockscreen - Tom Giordano
-* Common: Camera touch-to-focus - cyanogen, arcee, m0viefreak, Danny Baumann
-* Common: Screenshot feature via power menu - arcee
-* Common: WEBP backport - Vikas Arora
-* Common: Add CM copyright noticies - arcee
-* Common: Skia/Zlib/libcore ARM optimizations - 0xlab
-* Common: Bluetooth tethering - Stéphane Konstantaropoulos
-* Common: Lockscreen widget alignment - Danesh Mondegarian
-* Common: Lockscreen calendar - David Morgan
-* Common: AVRCP 1.3 support - Qualcomm (bugfix by Danny Baumann)
-* Common: LED notification overhaul - Danny Baumann
-* Common: System-wide DNS cache - Google, SEMC
-* Common: Headset icon toggle - Cameron Pickett
-* Common: FM seek support - Emilio López, Tom Giordano
-* Common: Editable event fields in Contacts app - Danny Baumann
-* Common: Remove compromised CA from system certs - Guardian Project
-* Common: Mute camera shutter option - George Maizel
-* Common: Camera timer - Danesh Mondegarian
-* Common: "Mark all read" option in MMS - Vinod Surendran
-* Common: "eat" pushes fresh brunch/breakfast to device - Ricardo Cerqueira
-* Common: Customizable account color chip in Email - copolii
-* Common: "Rings" lockscreen - Valera Trubachev
-* Click, Motorola: Speed up photo recording - Emilio López
-* Click, Motorola: Add Geolocation to photo app - KalimochoAz
-* Click: Upgraded kernel from HTC 2.6.29 to 2.6.35
-* HTC msm7x30: 2.6.35 kernel and updated userspace
-* Buzz: 2.6.35 kernel - Arne Coucheron
-* Bravo(c)/Vivo(w)/Ace/Liberty: On charge notification led - Richard Antony Burton
-* Crespo/Crespo4G: Kernel update 2.6.35.14 and more, voodoo implementation, BLN, BLX...
-* Encore: Update kernel from 2.6.29 to 2.6.32 - Dalingrin,Fattire,Verygreen
-* Encore: New GPU drivers and userspace libs
-* Encore: Adjustable clockspeed and voltage - Dalingrin
-* Encore: Backport 2.6.35 Bluetooth - Fattire
-* Encore: Working mem sleep
-* Encore: USB host support - Verygreen
-
-### 7.0.3
-* Common: Don't allow packages with platform keys on user-controlled storage
-
-### 7.0.2
-* Common: Fix issue with missing built-in themes
-* Common: Update bundled ROM Manager to latest version
-* Supersonic: Actually fix GPS
-* Supersonic: Fix proximity and light sensor
-
-### 7.0.1
-* Common: Fix fling velocity of status bar and ADW swipe - Sven Dawitz
-* Common: Fixed webview layout bug (issue 3229) - Zinx
-* Common: Fix GVoice-opens-twice bug - Zinx
-* Common: Fix issues on all devices with DNS resolution failure after some time - Zinx, various
-* Common: RTL improvements - Eran Mizrahi, Eyad Aboulouz
-* Common: Fix crashes in Arabic locale - Eyad Aboulouz
-* Common: Add Arabic keylayout - Eyad Aboulouz
-* Common: Improve ADWLauncher scrolling/zoom performance - Pavel Kucera
-* Common: Fix excessive memory use when appending to textviews - Cyanogen
-* Common: New wallpapers from the CM community (CC License, see app for credits)
-* Common: Option to disable vibration while in-call - Evan Charlton
-* Common: Add long press option to status bar widgets for settings - Alex Avance
-* Common: Compact carrier and status bar tweaks - Nihanth Subramanya, rorifree
-* Sholes: Fix connectivity loss bug - cvpcs
-* Speedy: Fix keyboard lights - JD Horelick
-* Glacier: Fix backlights - Zinx
-* Glacier: fix GPS issues - Zinx/QCom
-* msm7x30: Fix bugs during video resume - Zinx
-* qsd8x50: Fix 720p video playback
-* qsd8x50: Unified 2.6.37 kernel - Cyanogen, toastcfh, slayher
-* Espresso, Legend: WiFi fix (HTC)
-* Supersonic: Fix GPS issues (HTC)
-* msm7227: Fix GPS issues - Alex Hofbauer
-* Click: Fix recovery kernel and compilation. Now works well with latest code - KalimochoAz
-* Click: Speed up internet connection - KalimochoAz
-* Blade: Update kernel to match Gen2 Radio - kallt_kaffe
-* Blade: Update libaudio to fix SIP audio routing and microphone mute - Tom Giordano
-
-### 7.0.0
-* Common: Android 2.3.3 (Gingerbread) - Google
-* Common: Fixes and changes from AOSP master - Various
-* Common: ClockworkMod Recovery 3.0: Koush, Cyanogen, Zinx
-* Common: Themes engine - T-Mobile
-* Common: Performance enhancements for Qualcomm hardware - Code Aurora
-* Common: New boot animation - 73v1n - http://www.youtube.com/watch?v=mYXiKWwp0DQ
-* Common: Fix readahead values for NAND/MMC devices
-* Common: Revamped notification widget - cvpcs
-* Common: Updated various graphics for GB style - blunden
-* Common: DSPManager updated for 2.3 - alankila
-* Common: Restyled music app and forward-port of features - Jason Asher
-* Common: Rotary answer in Phone app - James Peterson
-* Common: BT VoiceDialer fixes - Matthew Sparby
-* Common: Calendar enhancements - James Peterson
-* Common: Stagefright fixes for 7x30, 8x50, and 7x27 - Zinx, arcee, Cyanogen
-* Common: Pacman package manager - Kmobs
-* Common: Workaround for unknown phone number - Jiri Tyr
-* Common: Trackball answer/hangup - Juan Rodriguez
-* Common: CMParts reorganization - Robert Burns
-* Common: View ChangeLog via CMParts (System) - Wes Garner
-* Common: Optional screen on/off animations - Diogo Ferreira
-* Common: New browser incognito mode - optedoblivion
-* Common: New trackball/trackpad wake - Zinx, Cyanogen
-* Common: Legacy sensor/GPS support - arcee
-* Common: Enabled v8 javascript engine on armv6 (msm7227/msm7225) - arcee
-* Common: Customizable overscroll - arcee
-* Common: Torch cleanup - defer
-* Common: 2D compositor backwards compatibility - arcee
-* Common: OpenGL backwards compatibility - Zinx, Cyanogen, Sileht, ezterry
-* Common: SMS templates using gestures - Riccardo Ciovati
-* Common: Phone Goggles - David Bidorff
-* Common: Option to always show battery percentage on lockscreen - Robert Burns
-* Common: Option to show music controls with compatible headset connection - Wes Garner
-* Common: CPU frequency/scaling control in CMParts - Robert Ramiega
-* Common: Option to pause/play music with camera button - cvpcs
-* Common: Allow SIP User-Agent configuration - arcee
-* Common (non-HTC): Fixed mobile connection suspension - arcee
-* Common: New music widgets - Jason Asher
-* Common: Updated FLAC support - cvpcs, Cyanogen, kroot
-* Common: Updated wallpapers - Fitsnugly, Prash
-* Common: Customizable search/long-press search - Sven Dawitz
-* Common: New lockscreen styles - Rotary Revamped (default) and Lense - Sven Dawitz, Stefano Pignataro
-* Common: Customizable app launcher on rotary lockscreen - Sven Dawitz
-* Common: Now playing and album art on lockscreen - kmobs
-* Common: GPS fixes - CodeAurora, arcee
-* Common: Breakfast/Brunch - arcee
-* Common: Statusbar battery percentage with mini icon - Sven Dawitz, design by Jazz Kalsi
-* Common: SMS split for braindead carriers - Mike Wielgosz
-* Common: MMS user-defined custom vibrate - Wes Garner
-* Common: CMParts cleanup - Sven Dawitz
-* Common: Notification profiles - Martin Long
-* Common: TI wl12xx FM radio reverse engineering - Michael A. Reid
-* Common: Tablet tweaks - Sven Dawitz
-* Common: Revamped CMStats - Chris Soyars
-* Common: Improved RTL text support and fonts - Eyad Aboulouz, Eran Mizrahi,
-* Espresso/Legend: Enabled native WiFi tethering - Cyanogen, OMAPZoom.org
-* Legend/Liberty/Buzz/Click: Enabled FM Radio - Alexander Hofbauer (libaudio patch)
-* Z71: Enabled MPEG4/AAC video recording - arcee
-* Z71: Enabled native WiFi tethering - arcee
-* Passion/Bravo/BravoC/Supersonic/Inc: Kernel 2.6.37 - Google, Cyanogen, defer, Kali-, toastcfh, slayher
-* Vision/Glacier/Espresso: WiFi calling compatibility and optimization - Zinx
-* Vision/Glacier/Ace: Unified kernel - HTC, Cyanogen, Zinx, Kali-, defer
-* Vision/Glacier/Ace: Fix FM radio on 2.3 - Zinx
-* Vision/Glacier/Ace: Fixes for video overlay - Zinx, CodeAurora
-* Vision: Only install WiFi calling on TMUS devices - attn1
-* Espresso/Legend/Liberty: Unified kernel - HTC, Cyanogen, attn1, jznomoney, Alexander Hofbauer
-* Supersonic: WiMAX support - HTC, Shinzul, toastcfh, shift, #teamwin, Cyanogen, Joey Conway
-* Supersonic: HDMI mirror support: #teamwin
-* ONE: Enabled native WiFi tethering - arcee
diff --git a/CONTRIBUTORS.mkdn b/CONTRIBUTORS.mkdn
deleted file mode 100644
index 0a68f1d..0000000
--- a/CONTRIBUTORS.mkdn
+++ /dev/null
@@ -1,232 +0,0 @@
-CyanogenMod
-===========
-
-Maintainers (CyanogenMod 13.0):
------------------------------
-* __Acer A700:__ pawitp
-* __Amazon Kindle Fire 1st Edition:__ Hashcode, FuZZ__
-* __Amazon Kindle Fire 2nd Edition:__ Hashcode, FuZZ__
-* __Asus EeePad Transformer (TF101):__ Bumble-Bee, EnJens
-* __Asus EeePad Transformer Prime (TF201):__ Bumble-Bee, EnJens
-* __Asus EeePad Transformer Pad TF300T:__  chrmhoffmann
-* __Asus EeePad Transformer Pad Infinity TF700T:__ dasunsrule32
-* __Asus EeePad Transformer Pad TF701T:__ pershoot
-* __B&N NookColor (encore):__ eyeballer, fattire, keyodi, krylon360, sluo (NookieDevs)
-* __B&N Nook Tablet (acclaim):__  chrmhoffmann
-* __Google Android One:__ varunchitre15
-* __Google Galaxy Nexus:__ bekit, Bumble-Bee, burnsra, KalimochoAz, something15525
-* __Google Nexus S:__ burnsra, KalimochoAz, klusark
-* __Google Nexus 4:__ rmcc
-* __Google Nexus 5:__ fluxi
-* __Google Nexus 6:__ dhacker29
-* __Google Nexus 7:__ burnsra, fattire, Thömy, nemith, JoeyRizzoli (GSM)
-* __Google Nexus 10:__ atinm, dalingrin, kornyone, gweedo767
-* __Google Nexus Player:__ dhacker29, bmc08gt
-* __HTC Desire 601(zara/zaracl):__ uberlaggydarwin, PatrikKT
-* __HTC Desire 816:__ Grarak, v_superuser
-* __HTC Desire Eye:__ uberlaggydarwin
-* __HTC Droid DNA:__ crpalmer, invisiblek
-* __HTC Droid Incredible 4G LTE:__ intervigil, mdmower
-* __HTC Evo 4G LTE:__ kushdeck, toastcfh
-* __HTC One (GSM):__ h8rift
-* __HTC One M8:__ deck, h8rift, invisblek, toastcfh, u-ra, uberlaggydarwin
-* __HTC One M8 Dual SIM (m8dug):__ bgcngm
-* __HTC One M9 (hima):__ cyanogen, Rashed97, varunchitre15
-* __HTC One Max (T6):__ flyhalf205, sbrissen
-* __HTC One (Sprint):__ kushdeck, toastcfh
-* __HTC One (Verizon):__ flyhalf205, mdmower
-* __HTC One S:__ intervigil, xkonni
-* __HTC One X:__ gorbi16, mdeejay, tbalden, Thömy
-* __HTC One X+:__ Lloir, tombriden
-* __HTC One XL:__ h8rift, intervigil
-* __LG G2 (AT&T) (D800):__ arcee, Rashed97, Shelnutt2
-* __LG G2 (T-Mobile) (D801):__ arcee, Rashed97, Shelnutt2
-* __LG G2 (International) (D802):__ arcee, Rashed97, Shelnutt2
-* __LG G2 (Canada) (D803):__ arcee, Rashed97, Shelnutt2
-* __LG G2 (Sprint) (LS980):__ arcee, Rashed97, Shelnutt2
-* __LG G2 (Verizon) (VS980):__ arcee, Rashed97, Shelnutt2
-* __LG G3 (AT&T) (D850):__
-* __LG G3 (T-Mobile) (D851):__ bryan2894
-* __LG G3 (Canada) (D852):__ cuzz1369
-* __LG G3 (International) (D855):__ finnq
-* __LG G3 (Korea) (F400):__ TheNoFace
-* __LG G3 (Sprint) (LS990):__
-* __LG G3 (Verizon) (VS985):__ invisiblek
-* __LG G4 (T-Mobile) (H811):__ codeworkx, genesixxbf3
-* __LG G4 (International) (H815):__ codeworkx, genesixxbf3
-* __LG Optimus LTE (P930) / LG Nitro HD {P935):__ arcee
-* __LG Optimus LTE (SK Telecom) (SU640):__ arcee
-* __Moto E 2014 (xt1021,xt1022,xt1023/condor):__ percy_g2, scritch007, ashwin007
-* __Moto G 2014 (xt1063,xt1064,xt1068,xt1069/titan):__ LuK1337, luca020400
-* __Moto G 4G (xt1039,xt1040,xt1042,xt1045/peregrine):__ somcom3x, intervigil
-* __Moto G 4G 2014 (xt1072,xt1077,xt1078,xt1079/thea):__ LuK1337, luca020400
-* __Moto X (xt1053,xt1055,xt1056,xt1058,xt1060/ghost):__ Hashcode, Skrilax_CZ
-* __Moto X 2014 (victara):__ crpalmer, invisiblek
-* __Motorola Moto MAXX(quark) :__ Skrilax_CZ
-* __Motorola Atrix HD (MB886/qinara):__ epinter, Hashcode, Skrilax_CZ, nadlabak
-* __Motorola Droid 3 (solana):__ Hashcode, stargo
-* __Motorola Droid 4 (maserati):__ Hashcode, stargo
-* __Motorola Droid Bionic (targa):__ Hashcode, stargo
-* __Motorola Droid Maxx (obake-maxx):__ Skrilax_CZ
-* __Motorola Droid RAZR/RAZR Maxx (spyder) (CDMA):__ Hashcode, stargo
-* __Motorola Droid RAZR HD/HD Maxx (xt926/vanquish) (CDMA):__ Hashcode,  epinter, Skrilax_CZ, nadlabak
-* __Motorola Droid RAZR M (xt907/scorpion_mini):__ Hashcode, epinter, Skrilax_CZ, nadlabak
-* __Motorola Photon Q (xt897/asanti) (GSM):__ Skrilax_CZ, nadlabak, epinter, Hashcode
-* __Motorola Photon Q (xt897c/asanti_c) (CDMA):__ nadlabak, Skrilax_CZ, epinter, Hashcode
-* __Motorola RAZR/RAZR Maxx (umts_spyder) (GSM):__ Hashcode, stargo
-* __Motorola RAZR HD(xt925/vanquish) (GSM):__ epinter, Hashcode, Skrilax_CZ, nadlabak
-* __Motorola Xoom (WiFi):__ bazar, SteadyHawkin, TDR (Team Rogue)
-* __Motorola Xoom 3G (UMTS):__ bazar, SteadyHawkin, TDR (Team Rogue)
-* __Motorola Xoom 4G LTE (Verizon):__ bazar, SteadyHawkin, TDR (Team Rogue)
-* __OnePlus One:__ cyanogen, intervigil, inwotep, arcee
-* __Oppo Find 5:__ intervigil, nebkat, raymanfx
-* __Oppo Find 7:__ intervigil, tdm, inwotep, mikeioannina
-* __Oppo N1:__ raymanfx
-* __Oppo N3:__ invisiblek, maniac103
-* __Oppo R7:__ maniac103, mikeioannina, Rashed97
-* __Oppo R7 Plus:__ maniac103, mikeioannina, Rashed97
-* __Samsung Captivate (SGH-I896 / SGH-I897):__ pawitp
-* __Samsung Epic 4G (SPH-D700):__ bbelos
-* __Samsung Exhilarate (SGH-I577):__ mikeyman77, carvsdriver
-* __Samsung Fascinate / Mesmerize (SCH-I500):__ jt1134, sbrissen
-* __Samsung Galaxy Note (GT-N7000):__ Espenfjo
-* __Samsung Galaxy Note II (GT-N7100):__ nebkat
-* __Samsung Galaxy Note II LTE (AT&T) (SGH-I317):__ cyanogen
-* __Samsung Galaxy Note II LTE (Verizon) (SCH-I605):__ sbrissen
-* __Samsung Galaxy Note II LTE (Sprint) (SPH-L900):__ sbrissen
-* __Samsung Galaxy Note II LTE (USCC) (SCH-R950):__ sbrissen
-* __Samsung Galaxy Note III (hlte):__ cyanogen, noobnl, slayher
-* __Samsung Galaxy Note IV Exynos (trelte):__ raymanfx
-* __Samsung Galaxy Note IV Exynos (trhplte):__ raymanfx
-* __Samsung Galaxy Note 8.0 3G (GT-N5100):__ sbrissen
-* __Samsung Galaxy Note 8.0 WiFi (GT-N5110):__ sbrissen
-* __Samsung Galaxy Note 10.1 (GT-N80XX):__ Espenfjo
-* __Samsung Galaxy Note 10.1 LTE (Verizon) (SCH-I925):__ sbrissen
-* __Samsung Galaxy Premier (GT-I9260):__ ljzyal
-* __Samsung Galaxy R (GT-I9103):__ Adam77Root, Epsylon3
-* __Samsung Galaxy S Blaze 4G (SGH-T769):__ UberPinguin
-* __Samsung Galaxy S (GT-I9000):__ pawitp
-* __Samsung Galaxy S (GT-I9000B):__ helvio88
-* __Samsung Galaxy S II (GT-I9100):__ Caio Schnepper
-* __Samsung Galaxy S II (intl) (GT-I9100G):__ Jiangyi, Ryuinferno
-* __Samsung Galaxy S II (T-Mobile) (SGH-T989):__ mikeyman77
-* __Samsung Galaxy S II (AT&T) (SGH-I727):__ topprospect
-* __Samsung Galaxy S III (AT&T) (SGH-I747):__ nardholio
-* __Samsung Galaxy S III (Sprint) (SPH-L710):__ noobnl
-* __Samsung Galaxy S III (Verizon) (SCH-I535):__ invisiblek
-* __Samsung Galaxy S III LTE (GT-I9305):__ mcampbellsmith
-* __Samsung Galaxy S IV 3G (GT-I9500):__ intervigil, Alberto96
-* __Samsung Galaxy S IV (AT&T) (SGH-I337):__ FarmGeek4Life
-* __Samsung Galaxy S IV (Sprint) (SPH-L720):__ noobnl
-* __Samsung Galaxy S IV (T-Mobile) (SGH-M919):__ dcd
-* __Samsung Galaxy S IV (Verizon) (SCH-I545):__ invisiblek
-* __Samsung Galaxy S IV LTE (GT-I9505):__ AntaresOne
-* __Samsung Galaxy S IV LTE-A (GT-I9506):__ solk2
-* __Samsung Galaxy S IV Mini 3G (GT-I9190):__ arco
-* __Samsung Galaxy S IV Mini LTE (GT-I9195):__ arco
-* __Samsung Galaxy S V (AU) (SCL23):__ scoty755
-* __Samsung Galaxy S V (Vodafone) (SM-G900I):__ Regi24
-* __Samsung Galaxy Tab 7" (GSM):__ cdesai, humberos
-* __Samsung Galaxy Tab 7" (CDMA):__ jt1134
-* __Samsung Galaxy Tab 2 7" (GT-P31xx):__ codyf86
-* __Samsung Galaxy Tab 2 10.1" (GT-P51xx):__ codyf86
-* __Samsung Galaxy Tab Pro 8.4" (SM-T320):__ crpalmer
-* __Samsung Vibrant (SGH-T959):__ FaultException
-* __Sony Xperia E3  (flamingo):__ FreeXperia Team
-* __Sony Xperia L (taoshan):__ olivieer, FreeXperia Team
-* __Sony Xperia M (nicki):__ RonG, FreeXperia Team
-* __Sony Xperia M2 (eagle):__ FreeXperia Team
-* __Sony Xperia SP (huashan):__ Mrcl1450
-* __Sony Xperia T (mint):__ FreeXperia Team, tilal6991, uberlaggydarwin
-* __Sony Xperia T2 Ultra  (tianchi):__ FreeXperia Team
-* __Sony Xperia T3  (seagull):__ FreeXperia Team
-* __Sony Xperia V (tsubasa):__ FreeXperia Team, tilal6991, championswimmer, uberlaggydarwin
-* __Sony Xperia Z (yuga):__ FreeXperia Team, Turl, olivieer
-* __Sony Xperia ZL (odin):__  FreeXperia Team
-* __Sony Xperia ZR (dogo):__  FreeXperia Team
-* __Sony Xperia Tablet Z LTE (pollux):__ FreeXperia Team, snc
-* __Sony Xperia Tablet Z WiFi (pollux_windy):__ FreeXperia Team, snc
-* __Sony Xperia Tablet Z2 LTE (castor):__ FreeXperia Team
-* __Sony Xperia Tablet Z2 WiFi (castor_windy):__ FreeXperia Team
-* __Sony Xperia Z3 Tablet Compact LTE (scorpion):__ FreeXperia Team
-* __Sony Xperia Z Ultra (togari):__ FreeXperia Team
-* __Sony Xperia Z1 (honami):__ FreeXperia Team
-* __Sony Xperia Z1 compact (amami):__ FreeXperia Team, intervigil, championswimmer
-* __Sony Xperia Z2 (sirius):__  FreeXperia Team
-* __Sony Xperia Z3 (z3):__  FreeXperia Team
-* __Sony Xperia Z3 Compact (z3c):__ FreeXperia Team
-* __Sony Z Ultra GPE (togari_gpe):__ FreeXperia Team
-* __Xiaomi Mi2(s) (aries):__ Michael Zimmermann
-* __Xiaomi Mi3/4 (cancro):__ JoeyRizzoli
-
-FreeXperia Team:
--------------------
-Team: Jerpelea, Bin4ry, Kali-, codeworkx, Bumble-Bee, cdesai, AdFad666, tilal6991, kholk
-
-General developers:
--------------------
-* __UI Team:__ blunden, prash
-* __UX Team:__ blunden, ciwrl, daneshm, DvTonder, jackmu95, maniac103, Kaik541
-* __Other:__ jruesga
-
-Translators:
-------------
-* __Afrikaans:__ David van Tonder (DvTonder), Corrie Meyer (isimobile)
-* __Arabic:__ Umar Omar (uomar8)
-* __Asturian:__ esbardu (esbardu), ivarela (malditoastur), Xandru Martino Ruz (Xandru), Xuacu Saturio (Xuacu)
-* __Catalan:__ Arnau (Arnau), Pau Galindo (Pau_Galindo)
-* __Chinese Simplified:__ Matthew Humphrey (775405984), Contactfront (Contactfront), Easeman Wang (easeman9), jiveking (jiveking), Yun Liu (liuyun97), Hexchain Tong (richard0053), Ryan Chan (smartryan), Thomas Wang (ts0516)
-* __Chinese Traditional:__ Hsiang Jung, CHENG (HJCHENG), Kelvin Cheong (kelvincheong), Bing-Hua Wang (louiswpf), npes87184 (npes87184), Ryan Chan (smartryan)
-* __Chinese Traditional, Hong Kong:__ Kelvin Cheong (kelvincheong), Ryan Chan (smartryan), Li Chi Tung (tonyli1357)
-* __Croatian:__ David Boca (davidboca), markan (markan), Robert Rozić (Rox), Josip Volf (Wuk)
-* __Czech:__ Radovan Kepák (bckp), Štěpán Dalecký (daleckystepan), engy (engy), Keltek (Keltek), ScArSVK (ScArSVK), Snoop05 (Snoop05)
-* __Danish:__ Morten Jørgensen (Fidoble), Jacob_DK (Jacob_DK), Ole Ingeman Christensen (OIChristensen)
-* __Dutch:__ Eddy Witkamp (eddywitkamp), Frank Baeten (frankbaeten), Tom Heisterkamp (HappyFlow), Martin Coulon (martinusbe), Timo Viveen (Nadermane), ray1618 (ray1618), Marco Brohet (therbom)
-* __Estonian:__ Rudolf Tammekivi (rtammekivi)
-* __Finnish:__ Eero Hyrsky (EnergySnail), Jani Kinnunen (jkinnunen), Niko Koivu (niko0o), Sasu Lehtonen (zazza)
-* __French:__ DelPETER (DelPETER), humpf (humpf), Julien Stephan (julienstephan29), laddass (laddass), .... (lemachinbidule), math Matmutant (matmutant), Micks29 (Micks29), opengillou (opengillou), Alexandre Bertrand (trandbert)
-* __Galician:__ Daniel (canu7), Isaac Álvarez Veiga (Erithrym)
-* __Georgian:__ Alexander (alexander_9)
-* __German:__ Sascha Schroeder (c1ph4), Kim Le (elektroschmock78), Jacob Müller (jackmu95), Kilian von Pflugk (kilianvonpflugk), Kilowatt.W (kilowatt), Benjamin Huschle (kolsms), Danny Baumann (maniac103), Mardon (markusmenzel), maxee (maxee), michelsberg (michelsberg), Roman Ettlinger (romanett98), Stefan O. (stefanao), Thomas Reinhardt (tarreas), unpublished (unpublished), Yannik (yanniks)
-* __Greek:__ Vasilis Akritas (billak75), Michael Bestas (mikeioannina)
-* __Hebrew:__ Arthur Zamarin (arthurzam), evyatark2 (evyatark2), Mr_Guy (Mr_Guy), Oren Cohen (orenc17), sagi232123 (sagi232123)
-* __Hindi:__ c0d3ripp3r (c0d3ripp3r), Solomon Sunder (solomonsunder)
-* __Hungarian:__ Bálint Czobor (balint), Buga Dániel (BugaDániel), fischerandris (fischerandris), lazajnd (lazajnd), Tamás Tóth (tothtamassyman)
-* __Indonesian:__ Vicky Sofyan (Arch9), famihyypia (famihyypia), Ilham Ibrahim (iiibrahim89), Ruswan Efendi (RuswanWu7), tohenk (tohenk)
-* __Italian:__ Alessandro Preti (alessandropreti), Francesco Foresta (francescoforesta), Joey Rizzoli (linuxx), Lorenzo Faccini (lo97), rheeze (rheeze), Valdevies (Valdevies)
-* __Japanese:__ Black Zigong (blackzigong), jiveking (jiveking), おたっく (otack), Sena Endo (senaforandroid), stmay30 (stmay30)
-* __Korean:__ 이승렬 (toy0605)
-* __Kurdish:__ falah (Dylan2785)
-* __Latvian:__ Māris Rēdmanis (maaris)
-* __Lithuanian:__ Liudas Ališauskas (liudas.alisauskas), Edmundas Plentauskas (plentauskas1992), HardLight (polizplz), Saulius Vyšniauskas (SauliusVy)
-* __Luxembourgish:__ Michel Weimerskirch (michel_weimerskirch), soued031 (soued031)
-* __Malay:__ tanakwagu (tanakwagu)
-* __Norwegian Bokmal:__ Vegard Fladby (Allram), Sten Eikrem (Storesteinen)
-* __Persian:__ Ali Niki (alinik), Mehdi HosseinZade (Arshen) (Arshen-2014), Yaser Rajabi (yrajabi)
-* __Polish:__ Dawid (dawidohs), Kamil Jarosław (devloz1996), Michał Gątkowski (IreuN), Andrzej Ressel (jereksel), Michał Kamień (kamykowsky), lozohcum M (lozohcum), Tomasz Popielarczyk (popielarczyktomasz), Michał Jakubowski (revanmj)
-* __Portuguese:__ João Pedro Luís (joaopluis), Sergio Borges (sergioborges99), André Pinela (sheffzor), Tercio Carvalho (tercioc)
-* __Portuguese, Brazilian:__ Carlos Henrique Brendler Cabral (carloshbcabral), Gafanhotz (Gafanhotz), Gustavo Rosa (gustavogyn), Tercio Carvalho (tercioc)
-* __Romanian:__ apolodor (apolodor), azzureux (azzureux), Marian-Mina Mihai (bboylalu), mihaitaus (mihaitaus)
-* __Russian:__ Vladislav Koldobskiy (NeverGone), Alexey Kuznetsov (eeepc1016p), Artem Leshchev (matshch), Maxim Perepelitsa (N0xFF), Yaroslav Yadrishnikov (MrYadro)
-* __Serbian (Cyrillic):__ Dragan Milenkovic (gagy187), Sava Mikalački (mikalackis), Драган (WD40)
-* __Sinhala:__ Rananga Suraweera (rananga)
-* __Slovak:__ Martin (mato), Bohuslav Oršula (orsulab), Peter Malík (PeterM), pyler (pyler), Snoop05 (Snoop05)
-* __Spanish:__ Isaac Álvarez Veiga (Erithrym), Jorge Ruesga (jruesga), Lorenzo M (Lorenzo_M), luchomacedo92 (LuchoMacedo), Pau Galindo (Pau_Galindo)
-* __Swedish:__ Simon Bäck (backsimon), elelinux (elelinux), Simon Danielsson (sad_88), Ted Lundwall (TedLundwall)
-* __Tamil:__ Kishore Sheik Ahamed (kishoreinme), Solomon Sunder (solomonsunder), Stars Soft (starssoft), அருண் குமார் - Arun Kumar (thangamani-arun)
-* __Thai:__ pureexe (pureexe)
-* __Turkish:__ Arif GÜLER (ArF), Mesut Öztürk (doktormesut), Murat KOŞAK (muratkosak), okirat (okirat), Şenol (senoleker)
-* __Ukrainian:__ Andriy Poznakhovskyy (Andrulko), Nazar Sokolovsky (nazar_sokolovsky), Maks (probil), xalich (xalich)
-* __Uyghur:__ jiveking (jiveking)
-* __Vietnamese:__ Bảo Quân (quan221295), Triet Bui Minh (x3cafe)
-
-Graphics and Assets:
---------------------
-* __Wallpapers:__ Matthew Hanley, Henry Mason
-* __Icons:__ Bjorn Lunden, Henry Mason
-* __Bootanimation:__ Dima Skvarskyi
-
-Former Contributors:
---------------------
-* __Devices:__ Entropy512, xplodwild
-* __Features:__ mad-murdock, wysie, Ander Webbs, ChainsDD, xplodwild
diff --git a/README.mkdn b/README.mkdn
deleted file mode 100644
index 7f265ce..0000000
--- a/README.mkdn
+++ /dev/null
@@ -1,50 +0,0 @@
-CyanogenMod
-===========
-
-Submitting Patches
-------------------
-Patches are always welcome!  Please submit your patches via CyanogenMod Gerrit!
-You can do this by using these commands:
-
-    (From root android directory)
-    . build/envsetup.sh
-    (Go to repo you are patching, make your changes and commit)
-    cmgerrit <for(new)/changes(patch set)> <branch/change-id> 
-
-    repo start cm-13.0 .
-    (Make your changes and commit)
-    repo upload .
-Note: "." meaning current directory
-For more help on using this tool, use this command: repo help upload
-
-Make your changes and commit with a detailed message, starting with what you are working with (i.e. vision: Update Kernel)
-Commit your patches in a single commit. Squash multiple commit using this command: git rebase -i HEAD~<# of commits>
-
-To view the status of your and others' patches, visit [CyanogenMod Code Review](http://review.cyanogenmod.org/)
-
-
-Getting Started
----------------
-
-To get started with Android/CyanogenMod, you'll need to get
-familiar with [Repo](https://source.android.com/source/using-repo.html) and [Version Control with Git](https://source.android.com/source/version-control.html).
-
-To initialize your local repository using the CyanogenMod trees, use a command like this:
-
-    repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0
-
-Then to sync up:
-
-    repo sync
-
-Please see the [CyanogenMod Wiki](http://wiki.cyanogenmod.org/) for building instructions, by device.
-
-For more information on this Github Organization and how it is structured, 
-please [read the wiki article](http://wiki.cyanogenmod.org/w/Github_Organization)
-
-Buildbot
---------
-
-All supported devices are built nightly and periodically as changes are committed to ensure the source trees remain buildable.
-
-You can view the current build statuses in the [Jenkins](http://jenkins.cyanogenmod.org) tool.
diff --git a/bliss-device-targets b/bliss-device-targets
new file mode 100644
index 0000000..3f1d911
--- /dev/null
+++ b/bliss-device-targets
@@ -0,0 +1,5 @@
+# List Of All Officially Supported Devices
+# BlissMallow :)
+
+bliss_hammerhead-userdebug
+bliss_shamu-userdebug
diff --git a/build/core/config.mk b/build/core/config.mk
index e3b1948..931a37c 100644
--- a/build/core/config.mk
+++ b/build/core/config.mk
@@ -23,5 +23,5 @@
 FRAMEWORK_CM_PLATFORM_SYSTEM_API_FILE := $(TOPDIR)vendor/cmsdk/system-api/cm_system-current.txt
 FRAMEWORK_CM_PLATFORM_SYSTEM_REMOVED_API_FILE := $(TOPDIR)vendor/cmsdk/system-api/cm_system-removed.txt
 
-BUILD_MAVEN_PREBUILT := $(TOP)/vendor/cm/build/core/maven_artifact.mk
-PUBLISH_MAVEN_PREBUILT := $(TOP)/vendor/cm/build/core/maven_artifact_publish.mk
+BUILD_MAVEN_PREBUILT := $(TOP)/vendor/bliss/build/core/maven_artifact.mk
+PUBLISH_MAVEN_PREBUILT := $(TOP)/vendor/bliss/build/core/maven_artifact_publish.mk
diff --git a/config/cm_audio.mk b/config/bliss_audio.mk
similarity index 87%
rename from config/cm_audio.mk
rename to config/bliss_audio.mk
index f5f659f..b843f6b 100644
--- a/config/cm_audio.mk
+++ b/config/bliss_audio.mk
@@ -1,11 +1,11 @@
 #
-# CyanogenMod Audio Files
+# Bliss Audio Files
 #
 
-ALARM_PATH := vendor/cm/prebuilt/common/media/audio/alarms
-NOTIFICATION_PATH := vendor/cm/prebuilt/common/media/audio/notifications
-RINGTONE_PATH := vendor/cm/prebuilt/common/media/audio/ringtones
-UI_PATH := vendor/cm/prebuilt/common/media/audio/ui
+ALARM_PATH := vendor/bliss/prebuilt/common/media/audio/alarms
+NOTIFICATION_PATH := vendor/bliss/prebuilt/common/media/audio/notifications
+RINGTONE_PATH := vendor/bliss/prebuilt/common/media/audio/ringtones
+UI_PATH := vendor/bliss/prebuilt/common/media/audio/ui
 
 # Alarms
 PRODUCT_COPY_FILES += \
diff --git a/config/bliss_audio_mod.mk b/config/bliss_audio_mod.mk
new file mode 100644
index 0000000..a86095a
--- /dev/null
+++ b/config/bliss_audio_mod.mk
@@ -0,0 +1,37 @@
+# Copyright (C) 2015 BOSP
+#
+# 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.
+
+# V4A files
+ifeq (viper, $(BLISS_AUDIO_MOD))
+PRODUCT_COPY_FILES += \
+    vendor/bliss/prebuilt/V4A/etc/audio_effects.conf:system/etc/audio_effects.conf \
+    vendor/bliss/prebuilt/V4A/etc/audio_policy.conf:system/etc/audio_policy.conf \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libaudiopreprocessing.so:system/lib/soundfx/libaudiopreprocessing.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libbundlewrapper.so:system/lib/soundfx/libbundlewrapper.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libdownmix.so:system/lib/soundfx/libdownmix.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libeffectproxy.so:system/lib/soundfx/libeffectproxy.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libfmas.so:system/lib/soundfx/libfmas.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libldnhncr.so:system/lib/soundfx/libldnhncr.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libqcomvoiceprocessing.so:system/lib/soundfx/libqcomvoiceprocessing.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libreverbwrapper.so:system/lib/soundfx/libreverbwrapper.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libv4a_fx_ics.so:system/lib/soundfx/libv4a_fx_ics.so \
+    vendor/bliss/prebuilt/V4A/lib/soundfx/libvisualizer.so:system/lib/soundfx/libvisualizer.so \
+    vendor/bliss/prebuilt/V4A/priv-app/ViPER4Android/ViPER4Android.apk:system/priv-app/ViPER4Android/ViPER4Android.apk \
+    vendor/bliss/prebuilt/V4A/vendor/etc/audio_effects.conf:system/vendor/etc/audio_effects.conf
+else
+# AudioFX
+PRODUCT_PACKAGES += \
+    AudioFX
+endif
+
diff --git a/config/common.mk b/config/common.mk
index 7f298eb..18b6798 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -1,4 +1,4 @@
-PRODUCT_BRAND ?= cyanogenmod
+PRODUCT_BRAND ?= bliss
 
 ifneq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space))
 # determine the smaller dimension
@@ -10,7 +10,7 @@
   fi )
 
 # get a sorted list of the sizes
-bootanimation_sizes := $(subst .zip,, $(shell ls vendor/cm/prebuilt/common/bootanimation))
+bootanimation_sizes := $(subst .zip,, $(shell ls vendor/bliss/prebuilt/common/bootanimation))
 bootanimation_sizes := $(shell echo -e $(subst $(space),'\n',$(bootanimation_sizes)) | sort -rn)
 
 # find the appropriate size and set
@@ -27,20 +27,12 @@
 $(foreach size,$(bootanimation_sizes), $(call check_and_set_bootanimation,$(size)))
 
 ifeq ($(TARGET_BOOTANIMATION_HALF_RES),true)
-PRODUCT_BOOTANIMATION := vendor/cm/prebuilt/common/bootanimation/halfres/$(TARGET_BOOTANIMATION_NAME).zip
+PRODUCT_BOOTANIMATION := vendor/bliss/prebuilt/common/bootanimation/halfres/$(TARGET_BOOTANIMATION_NAME).zip
 else
-PRODUCT_BOOTANIMATION := vendor/cm/prebuilt/common/bootanimation/$(TARGET_BOOTANIMATION_NAME).zip
+PRODUCT_BOOTANIMATION := vendor/bliss/prebuilt/common/bootanimation/$(TARGET_BOOTANIMATION_NAME).zip
 endif
 endif
 
-ifdef CM_NIGHTLY
-PRODUCT_PROPERTY_OVERRIDES += \
-    ro.rommanager.developerid=cyanogenmodnightly
-else
-PRODUCT_PROPERTY_OVERRIDES += \
-    ro.rommanager.developerid=cyanogenmod
-endif
-
 PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
 
 ifeq ($(PRODUCT_GMS_CLIENTID_BASE),)
@@ -73,41 +65,45 @@
 ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
 endif
 
-# Copy over the changelog to the device
-PRODUCT_COPY_FILES += \
-    vendor/cm/CHANGELOG.mkdn:system/etc/CHANGELOG-CM.txt
-
 # Backup Tool
 ifneq ($(WITH_GMS),true)
 PRODUCT_COPY_FILES += \
-    vendor/cm/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
-    vendor/cm/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
-    vendor/cm/prebuilt/common/bin/50-cm.sh:system/addon.d/50-cm.sh \
-    vendor/cm/prebuilt/common/bin/blacklist:system/addon.d/blacklist
+    vendor/bliss/prebuilt/common/bin/backuptool.sh:install/bin/backuptool.sh \
+    vendor/bliss/prebuilt/common/bin/backuptool.functions:install/bin/backuptool.functions \
+    vendor/bliss/prebuilt/common/bin/50-bliss.sh:system/addon.d/50-bliss.sh \
+    vendor/bliss/prebuilt/common/bin/blacklist:system/addon.d/blacklist
 endif
 
 # Signature compatibility validation
 PRODUCT_COPY_FILES += \
-    vendor/cm/prebuilt/common/bin/otasigcheck.sh:install/bin/otasigcheck.sh
+    vendor/bliss/prebuilt/common/bin/otasigcheck.sh:install/bin/otasigcheck.sh
 
 # init.d support
 PRODUCT_COPY_FILES += \
-    vendor/cm/prebuilt/common/etc/init.d/00banner:system/etc/init.d/00banner \
-    vendor/cm/prebuilt/common/bin/sysinit:system/bin/sysinit
+    vendor/bliss/prebuilt/common/etc/init.d/00banner:system/etc/init.d/00banner \
+    vendor/bliss/prebuilt/common/bin/sysinit:system/bin/sysinit
 
 ifneq ($(TARGET_BUILD_VARIANT),user)
 # userinit support
 PRODUCT_COPY_FILES += \
-    vendor/cm/prebuilt/common/etc/init.d/90userinit:system/etc/init.d/90userinit
+    vendor/bliss/prebuilt/common/etc/init.d/90userinit:system/etc/init.d/90userinit
 endif
 
-# CM-specific init file
+# AdAway App
 PRODUCT_COPY_FILES += \
-    vendor/cm/prebuilt/common/etc/init.local.rc:root/init.cm.rc
+    vendor/bliss/prebuilt/AdAway/AdAway.apk:system/priv-app/AdAway/AdAway.apk
+
+# KernelAdiutor
+PRODUCT_COPY_FILES += \
+    vendor/bliss/prebuilt/KernelAdiutor/KernelAdiutor.apk:system/app/KernelAdiutor/KernelAdiutor.apk
+
+# Bliss-specific init file
+PRODUCT_COPY_FILES += \
+    vendor/bliss/prebuilt/common/etc/init.local.rc:root/init.bliss.rc
 
 # Copy over added mimetype supported in libcore.net.MimeUtils
 PRODUCT_COPY_FILES += \
-    vendor/cm/prebuilt/common/lib/content-types.properties:system/lib/content-types.properties
+    vendor/bliss/prebuilt/common/lib/content-types.properties:system/lib/content-types.properties
 
 # Enable SIP+VoIP on all targets
 PRODUCT_COPY_FILES += \
@@ -117,12 +113,15 @@
 PRODUCT_COPY_FILES += \
     frameworks/base/data/keyboards/Vendor_045e_Product_028e.kl:system/usr/keylayout/Vendor_045e_Product_0719.kl
 
-# This is CM!
+# This is Bliss!
 PRODUCT_COPY_FILES += \
-    vendor/cm/config/permissions/com.cyanogenmod.android.xml:system/etc/permissions/com.cyanogenmod.android.xml
+    vendor/bliss/config/permissions/com.bliss.android.xml:system/etc/permissions/com.bliss.android.xml
 
 # Theme engine
-include vendor/cm/config/themes_common.mk
+include vendor/bliss/config/themes_common.mk
+
+# Bliss Audio Mods
+-include vendor/bliss/config/bliss_audio_mod.mk
 
 # Required CM packages
 PRODUCT_PACKAGES += \
@@ -143,16 +142,12 @@
 PRODUCT_PACKAGES += \
     Launcher3 \
     Trebuchet \
-    AudioFX \
     CMWallpapers \
     CMFileManager \
     Eleven \
     LockClock \
-    CMUpdater \
     CMAccount \
-    CyanogenSetupWizard \
-    CMSettingsProvider \
-    ExactCalculator
+    CMSettingsProvider
 
 # CM Platform Library
 PRODUCT_PACKAGES += \
@@ -165,7 +160,12 @@
     org.cyanogenmod.hardware \
     org.cyanogenmod.hardware.xml
 
-# Extra tools in CM
+# Other packages
+PRODUCT_PACKAGES += \
+    BlissOTA \
+    BlissSettings
+
+# Extra tools in Bliss
 PRODUCT_PACKAGES += \
     libsepol \
     mke2fs \
@@ -226,106 +226,44 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     persist.sys.root_access=0
 
-PRODUCT_PACKAGE_OVERLAYS += vendor/cm/overlay/common
-
-PRODUCT_VERSION_MAJOR = 13
-PRODUCT_VERSION_MINOR = 0
-PRODUCT_VERSION_MAINTENANCE = 0-RC0
-
-# Set CM_BUILDTYPE from the env RELEASE_TYPE, for jenkins compat
-
-ifndef CM_BUILDTYPE
-    ifdef RELEASE_TYPE
-        # Starting with "CM_" is optional
-        RELEASE_TYPE := $(shell echo $(RELEASE_TYPE) | sed -e 's|^CM_||g')
-        CM_BUILDTYPE := $(RELEASE_TYPE)
-    endif
-endif
-
-# Filter out random types, so it'll reset to UNOFFICIAL
-ifeq ($(filter RELEASE NIGHTLY SNAPSHOT EXPERIMENTAL,$(CM_BUILDTYPE)),)
-    CM_BUILDTYPE :=
-endif
-
-ifdef CM_BUILDTYPE
-    ifneq ($(CM_BUILDTYPE), SNAPSHOT)
-        ifdef CM_EXTRAVERSION
-            # Force build type to EXPERIMENTAL
-            CM_BUILDTYPE := EXPERIMENTAL
-            # Remove leading dash from CM_EXTRAVERSION
-            CM_EXTRAVERSION := $(shell echo $(CM_EXTRAVERSION) | sed 's/-//')
-            # Add leading dash to CM_EXTRAVERSION
-            CM_EXTRAVERSION := -$(CM_EXTRAVERSION)
-        endif
-    else
-        ifndef CM_EXTRAVERSION
-            # Force build type to EXPERIMENTAL, SNAPSHOT mandates a tag
-            CM_BUILDTYPE := EXPERIMENTAL
-        else
-            # Remove leading dash from CM_EXTRAVERSION
-            CM_EXTRAVERSION := $(shell echo $(CM_EXTRAVERSION) | sed 's/-//')
-            # Add leading dash to CM_EXTRAVERSION
-            CM_EXTRAVERSION := -$(CM_EXTRAVERSION)
-        endif
-    endif
-else
-    # If CM_BUILDTYPE is not defined, set to UNOFFICIAL
-    CM_BUILDTYPE := UNOFFICIAL
-    CM_EXTRAVERSION :=
-endif
-
-ifeq ($(CM_BUILDTYPE), UNOFFICIAL)
-    ifneq ($(TARGET_UNOFFICIAL_BUILD_ID),)
-        CM_EXTRAVERSION := -$(TARGET_UNOFFICIAL_BUILD_ID)
-    endif
-endif
-
-ifeq ($(CM_BUILDTYPE), RELEASE)
-    ifndef TARGET_VENDOR_RELEASE_BUILD_ID
-        CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(CM_BUILD)
-    else
-        ifeq ($(TARGET_BUILD_VARIANT),user)
-            CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(TARGET_VENDOR_RELEASE_BUILD_ID)-$(CM_BUILD)
-        else
-            CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(CM_BUILD)
-        endif
-    endif
-else
-    CM_VERSION := $(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(shell date -u +%Y%m%d)-$(CM_BUILDTYPE)$(CM_EXTRAVERSION)-$(CM_BUILD)
-endif
-
-PRODUCT_PROPERTY_OVERRIDES += \
-  ro.cm.version=$(CM_VERSION) \
-  ro.cm.releasetype=$(CM_BUILDTYPE) \
-  ro.modversion=$(CM_VERSION) \
-  ro.cmlegal.url=https://cyngn.com/legal/privacy-policy
-
--include vendor/cm-priv/keys/keys.mk
-
-CM_DISPLAY_VERSION := $(CM_VERSION)
-
-ifneq ($(PRODUCT_DEFAULT_DEV_CERTIFICATE),)
-ifneq ($(PRODUCT_DEFAULT_DEV_CERTIFICATE),build/target/product/security/testkey)
-  ifneq ($(CM_BUILDTYPE), UNOFFICIAL)
-    ifndef TARGET_VENDOR_RELEASE_BUILD_ID
-      ifneq ($(CM_EXTRAVERSION),)
-        # Remove leading dash from CM_EXTRAVERSION
-        CM_EXTRAVERSION := $(shell echo $(CM_EXTRAVERSION) | sed 's/-//')
-        TARGET_VENDOR_RELEASE_BUILD_ID := $(CM_EXTRAVERSION)
-      else
-        TARGET_VENDOR_RELEASE_BUILD_ID := $(shell date -u +%Y%m%d)
-      endif
-    else
-      TARGET_VENDOR_RELEASE_BUILD_ID := $(TARGET_VENDOR_RELEASE_BUILD_ID)
-    endif
-    CM_DISPLAY_VERSION=$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR)-$(TARGET_VENDOR_RELEASE_BUILD_ID)
-  endif
-endif
-endif
+PRODUCT_PACKAGE_OVERLAYS += vendor/bliss/overlay/common
 
 # by default, do not update the recovery with system updates
 PRODUCT_PROPERTY_OVERRIDES += persist.sys.recovery_update=false
 
+# BLISS Versioning System
+-include vendor/bliss/config/versions.mk
+
+PRODUCT_PROPERTY_OVERRIDES += \
+    BUILD_DISPLAY_ID=$(BUILD_ID) \
+    ro.bliss.version=$(BLISS_VERSION)
+
+# Team Bliss OTA Updater
+ifeq ($(BLISS_DONATE),)
+  BLISS_DONATE =: http://goo.gl/31q5YL
+endif
+BLISS_OTA_BUILDDIR := Official
+ifeq ($(BLISS_BUILDTYPE),NIGHTLY)
+  BLISS_OTA_BUILDDIR := Nightlies
+endif
+BLISS_BASE_URL    := http://downloads.blissroms.com/Bliss
+ifeq ($(BLISS_DEVICE_URL),)
+  BLISS_DEVICE_URL := $(BLISS_BASE_URL)/$(BLISS_OTA_BUILDDIR)/$(TARGET_DEVICE)
+endif
+BLISS_OTA_VERSION := $(shell date +%Y%m%d%H)
+BLISS_ROM_NAME    := Bliss
+
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.ota.systemname=$(BLISS_ROM_NAME) \
+    ro.ota.version=$(BLISS_OTA_VERSION) \
+    ro.ota.device=$(TARGET_DEVICE) \
+    ro.ota.manifest=$(BLISS_DEVICE_URL)/ota$(BLISS_OTA_XMLVER).xml
+
+export BLISS_OTA_ROM=$(BLISS_ROM_NAME)
+export BLISS_OTA_VERNAME=$(BLISS_VERSION)
+export BLISS_OTA_VER=$(BLISS_OTA_VERSION)
+export BLISS_OTA_URL=$(BLISS_DEVICE_URL)/$(BLISS_VERSION).zip
+
 ifndef CM_PLATFORM_SDK_VERSION
   # This is the canonical definition of the SDK version, which defines
   # the set of APIs and functionality available in the platform.  It
@@ -343,9 +281,6 @@
   CM_PLATFORM_REV := 0
 endif
 
-PRODUCT_PROPERTY_OVERRIDES += \
-  ro.cm.display.version=$(CM_DISPLAY_VERSION)
-
 # CyanogenMod Platform SDK Version
 PRODUCT_PROPERTY_OVERRIDES += \
   ro.cm.build.version.plat.sdk=$(CM_PLATFORM_SDK_VERSION)
@@ -356,6 +291,4 @@
 
 -include $(WORKSPACE)/build_env/image-auto-bits.mk
 
--include vendor/cyngn/product.mk
-
 $(call prepend-product-if-exists, vendor/extra/product.mk)
diff --git a/config/common_full.mk b/config/common_full.mk
index 0a8bd85..957bf77 100644
--- a/config/common_full.mk
+++ b/config/common_full.mk
@@ -1,18 +1,12 @@
-# Inherit common CM stuff
-$(call inherit-product, vendor/cm/config/common.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common.mk)
 
-# Include CM audio files
-include vendor/cm/config/cm_audio.mk
+# Include Bliss audio files
+include vendor/bliss/config/bliss_audio.mk
 
 # Optional CM packages
 PRODUCT_PACKAGES += \
-    Galaxy4 \
-    HoloSpiralWallpaper \
-    LiveWallpapers \
     LiveWallpapersPicker \
-    MagicSmokeWallpapers \
-    NoiseField \
-    PhaseBeam \
     PhotoTable \
     SoundRecorder \
     PhotoPhase
diff --git a/config/common_full_phone.mk b/config/common_full_phone.mk
index 252fe54..64bc4ca 100644
--- a/config/common_full_phone.mk
+++ b/config/common_full_phone.mk
@@ -1,12 +1,12 @@
-# Inherit common CM stuff
-$(call inherit-product, vendor/cm/config/common_full.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_full.mk)
 
-# Required CM packages
+# Required Bliss packages
 PRODUCT_PACKAGES += \
     LatinIME
 
-# Include CM LatinIME dictionaries
-PRODUCT_PACKAGE_OVERLAYS += vendor/cm/overlay/dictionaries
+# Include Bliss LatinIME dictionaries
+PRODUCT_PACKAGE_OVERLAYS += vendor/bliss/overlay/dictionaries
 
 # Default notification/alarm sounds
 PRODUCT_PROPERTY_OVERRIDES += \
@@ -15,7 +15,7 @@
 
 ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space))
     PRODUCT_COPY_FILES += \
-        vendor/cm/prebuilt/common/bootanimation/480.zip:system/media/bootanimation.zip
+        vendor/bliss/prebuilt/common/bootanimation/480.zip:system/media/bootanimation.zip
 endif
 
-$(call inherit-product, vendor/cm/config/telephony.mk)
+$(call inherit-product, vendor/bliss/config/telephony.mk)
diff --git a/config/common_full_tablet_wifionly.mk b/config/common_full_tablet_wifionly.mk
index eb804ba..32c250e 100644
--- a/config/common_full_tablet_wifionly.mk
+++ b/config/common_full_tablet_wifionly.mk
@@ -1,12 +1,12 @@
-# Inherit common CM stuff
-$(call inherit-product, vendor/cm/config/common_full.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_full.mk)
 
-# Required CM packages
+# Required Bliss packages
 PRODUCT_PACKAGES += \
     LatinIME
 
-# Include CM LatinIME dictionaries
-PRODUCT_PACKAGE_OVERLAYS += vendor/cm/overlay/dictionaries
+# Include Bliss LatinIME dictionaries
+PRODUCT_PACKAGE_OVERLAYS += vendor/bliss/overlay/dictionaries
 
 # Default notification/alarm sounds
 PRODUCT_PROPERTY_OVERRIDES += \
@@ -15,5 +15,5 @@
 
 ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space))
     PRODUCT_COPY_FILES += \
-        vendor/cm/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip
+        vendor/bliss/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip
 endif
diff --git a/config/common_full_tv.mk b/config/common_full_tv.mk
index f7689b7..3972d52 100644
--- a/config/common_full_tv.mk
+++ b/config/common_full_tv.mk
@@ -1,5 +1,5 @@
-# Inherit common CM stuff
-$(call inherit-product, vendor/cm/config/common_full.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common_full.mk)
 
 # Default notification/alarm sounds
 PRODUCT_PROPERTY_OVERRIDES += \
@@ -8,5 +8,5 @@
 
 ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space))
     PRODUCT_COPY_FILES += \
-        vendor/cm/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip
+        vendor/bliss/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip
 endif
diff --git a/config/common_mini_phone.mk b/config/common_mini_phone.mk
index da0c5f1..e94ea24 100644
--- a/config/common_mini_phone.mk
+++ b/config/common_mini_phone.mk
@@ -1,10 +1,10 @@
-# Inherit common CM stuff
-$(call inherit-product, vendor/cm/config/common.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common.mk)
 
-# Include CM audio files
-include vendor/cm/config/cm_audio.mk
+# Include Bliss audio files
+include vendor/bliss/config/bliss_audio.mk
 
-# Required CM packages
+# Required Bliss packages
 PRODUCT_PACKAGES += \
     LatinIME
 
@@ -15,7 +15,7 @@
 
 ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space))
     PRODUCT_COPY_FILES += \
-        vendor/cm/prebuilt/common/bootanimation/320.zip:system/media/bootanimation.zip
+        vendor/bliss/prebuilt/common/bootanimation/320.zip:system/media/bootanimation.zip
 endif
 
-$(call inherit-product, vendor/cm/config/telephony.mk)
+$(call inherit-product, vendor/bliss/config/telephony.mk)
diff --git a/config/common_mini_tablet_wifionly.mk b/config/common_mini_tablet_wifionly.mk
index 4eccd94..5f789f6 100644
--- a/config/common_mini_tablet_wifionly.mk
+++ b/config/common_mini_tablet_wifionly.mk
@@ -1,10 +1,10 @@
-# Inherit common CM stuff
-$(call inherit-product, vendor/cm/config/common.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common.mk)
 
-# Include CM audio files
-include vendor/cm/config/cm_audio.mk
+# Include Bliss audio files
+include vendor/bliss/config/bliss_audio.mk
 
-# Required CM packages
+# Required Bliss packages
 PRODUCT_PACKAGES += \
     LatinIME
 
@@ -15,5 +15,5 @@
 
 ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space))
     PRODUCT_COPY_FILES += \
-        vendor/cm/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip
+        vendor/bliss/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip
 endif
diff --git a/config/common_mini_tv.mk b/config/common_mini_tv.mk
index 57256ed..b2f06dd 100644
--- a/config/common_mini_tv.mk
+++ b/config/common_mini_tv.mk
@@ -1,8 +1,8 @@
-# Inherit common CM stuff
-$(call inherit-product, vendor/cm/config/common.mk)
+# Inherit common Bliss stuff
+$(call inherit-product, vendor/bliss/config/common.mk)
 
-# Include CM audio files
-include vendor/cm/config/cm_audio.mk
+# Include Bliss audio files
+include vendor/bliss/config/bliss_audio.mk
 
 # Default notification/alarm sounds
 PRODUCT_PROPERTY_OVERRIDES += \
@@ -11,5 +11,5 @@
 
 ifeq ($(TARGET_SCREEN_WIDTH) $(TARGET_SCREEN_HEIGHT),$(space))
     PRODUCT_COPY_FILES += \
-        vendor/cm/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip
+        vendor/bliss/prebuilt/common/bootanimation/800.zip:system/media/bootanimation.zip
 endif
diff --git a/config/nfc_enhanced.mk b/config/nfc_enhanced.mk
index d9ea102..5248e42 100644
--- a/config/nfc_enhanced.mk
+++ b/config/nfc_enhanced.mk
@@ -1,3 +1,3 @@
-# This device supports CM enhanced NFC
+# This device supports Bliss enhanced NFC
 PRODUCT_COPY_FILES += \
-    vendor/cm/config/permissions/com.cyanogenmod.nfc.enhanced.xml:system/etc/permissions/com.cyanogenmod.nfc.enhanced.xml
+    vendor/bliss/config/permissions/com.bliss.nfc.enhanced.xml:system/etc/permissions/com.bliss.nfc.enhanced.xml
diff --git a/config/permissions/com.cyanogenmod.android.xml b/config/permissions/com.bliss.android.xml
similarity index 100%
rename from config/permissions/com.cyanogenmod.android.xml
rename to config/permissions/com.bliss.android.xml
diff --git a/config/permissions/com.cyanogenmod.nfc.enhanced.xml b/config/permissions/com.bliss.nfc.enhanced.xml
similarity index 100%
rename from config/permissions/com.cyanogenmod.nfc.enhanced.xml
rename to config/permissions/com.bliss.nfc.enhanced.xml
diff --git a/config/telephony.mk b/config/telephony.mk
index 355bde0..5576ebd 100644
--- a/config/telephony.mk
+++ b/config/telephony.mk
@@ -1,10 +1,10 @@
 # World APN list
 PRODUCT_COPY_FILES += \
-    vendor/cm/prebuilt/common/etc/apns-conf.xml:system/etc/apns-conf.xml
+    vendor/bliss/prebuilt/common/etc/apns-conf.xml:system/etc/apns-conf.xml
 
 # Selective SPN list for operator number who has the problem.
 PRODUCT_COPY_FILES += \
-    vendor/cm/prebuilt/common/etc/selective-spn-conf.xml:system/etc/selective-spn-conf.xml
+    vendor/bliss/prebuilt/common/etc/selective-spn-conf.xml:system/etc/selective-spn-conf.xml
 
 # Telephony packages
 PRODUCT_PACKAGES += \
diff --git a/config/themes_common.mk b/config/themes_common.mk
index c3bcfa9..12caa3f 100644
--- a/config/themes_common.mk
+++ b/config/themes_common.mk
@@ -5,4 +5,4 @@
     ThemesProvider
 
 PRODUCT_COPY_FILES += \
-    vendor/cm/config/permissions/org.cyanogenmod.theme.xml:system/etc/permissions/org.cyanogenmod.theme.xml
+    vendor/bliss/config/permissions/org.cyanogenmod.theme.xml:system/etc/permissions/org.cyanogenmod.theme.xml
diff --git a/config/versions.mk b/config/versions.mk
new file mode 100644
index 0000000..3c65958
--- /dev/null
+++ b/config/versions.mk
@@ -0,0 +1,42 @@
+# Versioning System For Bliss
+# Bliss RELEASE VERSION
+BLISS_VERSION_MAJOR = 6
+BLISS_VERSION_MINOR = 0
+BLISS_VERSION_MAINTENANCE =
+
+VERSION := $(BLISS_VERSION_MAJOR).$(BLISS_VERSION_MINOR)$(BLISS_VERSION_MAINTENANCE)
+
+# Set BLISS_BUILDTYPE
+ifdef BLISS_NIGHTLY
+    BLISS_BUILDTYPE := NIGHTLY
+endif
+ifdef BLISS_EXPERIMENTAL
+    BLISS_BUILDTYPE := EXPERIMENTAL
+endif
+ifdef BLISS_RELEASE
+    BLISS_BUILDTYPE := RELEASE
+endif
+# Set Unofficial if no buildtype set (Buildtype should ONLY be set by BLISS Devs!)
+ifdef BLISS_BUILDTYPE
+else
+    BLISS_BUILDTYPE := UNOFFICIAL
+    BLISS_VERSION_MAJOR := 6
+    BLISS_VERSION_MINOR := 0
+endif
+
+# Set BLISS version
+ifdef BLISS_RELEASE
+    BLISS_VERSION := Bliss-v$(VERSION)
+else
+    BLISS_VERSION := Bliss-v$(VERSION)-$(BLISS_BUILD)-$(BLISS_BUILDTYPE)-$(shell date +%Y%m%d-%H%M)
+endif
+
+BLISS_DISPLAY_VERSION := $(VERSION)
+BLISS_DISPLAY_BUILDTYPE := $(BLISS_BUILDTYPE)
+
+PRODUCT_PROPERTY_OVERRIDES += \
+  ro.modversion=$(BLISS_DISPLAY_VERSION) \
+  ro.bliss.display.version=$(BLISS_DISPLAY_VERSION) \
+  ro.bliss.display.buildtype=$(BLISS_DISPLAY_BUILDTYPE)
+
+export BLISS_OTA_XMLVER=$(BLISS_VERSION_MAJOR)
diff --git a/ota.xml b/ota.xml
new file mode 100644
index 0000000..b0d5913
--- /dev/null
+++ b/ota.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ROM>
+	<!--ROM Name-->
+		<RomName>BLISS_OTA_ROM</RomName>
+
+	<!--THIS NEEDS TO BE EDITED EVERY NEW UPDATE-->
+		<VersionName>BLISS_OTA_VERNAME</VersionName>
+
+	<!--THIS NEEDS TO BE EDITED EVERY NEW UPDATE-->
+		<VersionNumber type="integer">BLISS_OTA_VERSION</VersionNumber>
+
+	<!--THIS NEEDS TO BE EDITED EVERY NEW UPDATE-->
+		<DirectUrl>BLISS_OTA_URL</DirectUrl>
+
+	<!--Do not edit this!-->
+		<HttpUrl>BlissRoms Server</HttpUrl>
+
+	<!--BlissPop Android Version-->
+		<Android>6.0.1</Android>
+
+	<!--THIS NEEDS TO BE EDITED EVERY NEW UPDATE-->
+	<!-- You can disable MD5 checking like this: <CheckMD5 nil="true" />-->
+		<CheckMD5>BLISS_OTA_MD5</CheckMD5>
+
+	<!--THIS NEEDS TO BE EDITED EVERY NEW UPDATE-->
+	<!--Please enter this in BYTES only. Otherwise an incorrect value will be shown-->
+		<FileSize type="integer">BLISS_OTA_FILESIZE</FileSize>
+
+	<!--Maintainer Name/Last Uploader's Name-->
+		<Developer>BLISS_DEVELOPER</Developer>
+
+	<!--Official Bliss Website-->
+		<WebsiteURL>http://blissroms.com/</WebsiteURL>
+
+	<!-- Your Donate URL (Please use goo.gl to shorten to avoid CDATA requirement -
+	  Default: http://goo.gl/k6jPX9 will go to Shaun)-->
+		<DonateURL>BLISS_DONATE</DonateURL>
+
+	<!--Put the changelog here... Use DaringFireball's Markdown to format it-->
+	<!--Surround special characters with the CDATA tags or your XML will NOT parse-->
+	<Changelog>
+	### Changelog BLISS_OTA_VERSION
+
+	http://downloads.blissroms.com/Changelog/CHANGELOG-bliss.txt
+	</Changelog>
+
+	<!--Number of addons and the target addons xml. Remove both if no addons available! -->
+		<AddonCount>2</AddonCount>
+		<AddonsURL>http://downloads.blissroms.com/Add-ons/addons.xml</AddonsURL>
+
+</ROM>
diff --git a/overlay/common/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg b/overlay/common/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg
old mode 100644
new mode 100755
index fd919d2..c4b6a7d
--- a/overlay/common/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg
+++ b/overlay/common/frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg
Binary files differ
diff --git a/overlay/common/frameworks/base/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg b/overlay/common/frameworks/base/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg
old mode 100644
new mode 100755
index 57e21f2..180b024
--- a/overlay/common/frameworks/base/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg
+++ b/overlay/common/frameworks/base/core/res/res/drawable-sw600dp-nodpi/default_wallpaper.jpg
Binary files differ
diff --git a/overlay/common/frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.jpg b/overlay/common/frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.jpg
old mode 100644
new mode 100755
index 57e21f2..fc9554c
--- a/overlay/common/frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.jpg
+++ b/overlay/common/frameworks/base/core/res/res/drawable-sw720dp-nodpi/default_wallpaper.jpg
Binary files differ
diff --git a/overlay/common/frameworks/base/core/res/res/drawable-xhdpi/default_wallpaper.jpg b/overlay/common/frameworks/base/core/res/res/drawable-xhdpi/default_wallpaper.jpg
old mode 100644
new mode 100755
index 2791f5b..560813c
--- a/overlay/common/frameworks/base/core/res/res/drawable-xhdpi/default_wallpaper.jpg
+++ b/overlay/common/frameworks/base/core/res/res/drawable-xhdpi/default_wallpaper.jpg
Binary files differ
diff --git a/overlay/common/frameworks/base/core/res/res/drawable-xxhdpi/default_wallpaper.jpg b/overlay/common/frameworks/base/core/res/res/drawable-xxhdpi/default_wallpaper.jpg
old mode 100644
new mode 100755
index 90f40b4..2986ebd
--- a/overlay/common/frameworks/base/core/res/res/drawable-xxhdpi/default_wallpaper.jpg
+++ b/overlay/common/frameworks/base/core/res/res/drawable-xxhdpi/default_wallpaper.jpg
Binary files differ
diff --git a/overlay/common/frameworks/base/core/res/res/values/config.xml b/overlay/common/frameworks/base/core/res/res/values/config.xml
index 25625c2..ca4503a 100644
--- a/overlay/common/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/common/frameworks/base/core/res/res/values/config.xml
@@ -51,7 +51,6 @@
         <item>reboot</item>
         <item>profile</item>
         <item>airplane</item>
-        <item>bugreport</item>
         <item>users</item>
     </string-array>
 
@@ -63,7 +62,6 @@
         <item>org.cyanogenmod.platform.internal.PartnerInterfaceService</item>
         <item>org.cyanogenmod.platform.internal.CMTelephonyManagerService</item>
         <item>org.cyanogenmod.platform.internal.CMHardwareService</item>
-        <item>org.cyanogenmod.platform.internal.AppSuggestManagerService</item>
         <item>org.cyanogenmod.platform.internal.PerformanceManagerService</item>
     </string-array>
 </resources>
diff --git a/prebuilt/AdAway/AdAway.apk b/prebuilt/AdAway/AdAway.apk
new file mode 100644
index 0000000..83c5fbb7
--- /dev/null
+++ b/prebuilt/AdAway/AdAway.apk
Binary files differ
diff --git a/prebuilt/KernelAdiutor/KernelAdiutor.apk b/prebuilt/KernelAdiutor/KernelAdiutor.apk
new file mode 100644
index 0000000..3f3a29b
--- /dev/null
+++ b/prebuilt/KernelAdiutor/KernelAdiutor.apk
Binary files differ
diff --git a/prebuilt/V4A/etc/audio_effects.conf b/prebuilt/V4A/etc/audio_effects.conf
new file mode 100644
index 0000000..587e2cd
--- /dev/null
+++ b/prebuilt/V4A/etc/audio_effects.conf
@@ -0,0 +1,149 @@
+# List of effect libraries to load. Each library element must contain a "path" element
+# giving the full path of the library .so file.
+#    libraries {
+#        <lib name> {
+#          path <lib path>
+#        }
+#    }
+libraries {
+  v4a_fx {
+    path /system/lib/soundfx/libv4a_fx_ics.so
+  }
+  bundle {
+    path /system/lib/soundfx/libv4a_fx_ics.so
+  }
+  reverb {
+    path /system/lib/soundfx/libv4a_fx_ics.so
+  }
+  visualizer {
+    path /system/lib/soundfx/libvisualizer.so
+  }
+  downmix {
+    path /system/lib/soundfx/libv4a_fx_ics.so
+  }
+}
+
+# Default pre-processing library. Add to audio_effect.conf "libraries" section if
+# audio HAL implements support for default software audio pre-processing effects
+#
+#  pre_processing {
+#    path /system/lib/soundfx/libv4a_fx_ics.so
+#  }
+
+# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
+# The value of the "library" element must correspond to the name of one library element in the
+# "libraries" element.
+# The name of the effect element is indicative, only the value of the "uuid" element
+# designates the effect.
+# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
+# generic effect type UUID.
+#    effects {
+#        <fx name> {
+#            library <lib name>
+#            uuid <effect uuid>
+#        }
+#        ...
+#    }
+
+effects {
+  v4a_standard_fx {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  bassboost {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  virtualizer {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  equalizer {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  volume {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  reverb_env_aux {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  reverb_env_ins {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  reverb_pre_aux {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  reverb_pre_ins {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  visualizer {
+    library visualizer
+    uuid d069d9e0-8329-11df-9168-0002a5d5c51b
+  }
+  downmix {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+}
+
+# Default pre-processing effects. Add to audio_effect.conf "effects" section if
+# audio HAL implements support for them.
+#
+#  agc {
+#    library v4a_fx
+#    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b   
+#  }
+#  aec {
+#    library v4a_fx
+#    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+#  }
+#  ns {
+#    library v4a_fx
+#    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+#  }
+
+# Audio preprocessor configurations.
+# The pre processor configuration consists in a list of elements each describing
+# pre processor settings for a given input source. Valid input source names are:
+# "mic", "camcorder", "voice_recognition", "voice_communication"
+# Each input source element contains a list of effects elements. The name of the effect
+# element must be the name of one of the effects in the "effects" list of the file.
+# Each effect element may optionally contain a list of parameters and their
+# default value to apply when the pre processor effect is created.
+# A parameter is defined by a "param" element and a "value" element. Each of these elements
+# consists in one or more elements specifying a type followed by a value.
+# The types defined are: "int", "short", "float", "bool" and "string"
+# When both "param" and "value" are a single int, a simple form is allowed where just
+# the param and value pair is present in the parameter description
+#    pre_processing {
+#        <input source name> {
+#            <fx name> {
+#                <param 1 name> {
+#                    param {
+#                        int|short|float|bool|string <value>
+#                        [ int|short|float|bool|string <value> ]
+#                        ...
+#                    }
+#                    value {
+#                        int|short|float|bool|string <value>
+#                        [ int|short|float|bool|string <value> ]
+#                        ...
+#                    }
+#                }
+#                <param 2 name > {<param> <value>}
+#                ...
+#            }
+#            ...
+#        }
+#        ...
+#    }
+
+#
+# TODO: add default audio pre processor configurations after debug and tuning phase
+#
diff --git a/prebuilt/V4A/etc/audio_policy.conf b/prebuilt/V4A/etc/audio_policy.conf
new file mode 100644
index 0000000..7f4ef3a
--- /dev/null
+++ b/prebuilt/V4A/etc/audio_policy.conf
@@ -0,0 +1,75 @@
+# Global configuration section: lists input and output devices always present on the device
+# as well as the output device selected by default.
+# Devices are designated by a string that corresponds to the enum in audio.h
+
+global_configuration {
+  attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER
+  default_output_device AUDIO_DEVICE_OUT_SPEAKER
+  attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC
+}
+
+# audio hardware module section: contains descriptors for all audio hw modules present on the
+# device. Each hw module node is named after the corresponding hw module library base name.
+# For instance, "primary" corresponds to audio.primary.<device>.so.
+# The "primary" module is mandatory and must include at least one output with
+# AUDIO_OUTPUT_FLAG_PRIMARY flag.
+# Each module descriptor contains one or more output profile descriptors and zero or more
+# input profile descriptors. Each profile lists all the parameters supported by a given output
+# or input stream category.
+# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
+# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
+
+audio_hw_modules {
+  primary {
+    outputs {
+      primary {
+        sampling_rates 44100
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET
+        flags AUDIO_OUTPUT_FLAG_PRIMARY
+      }
+      hdmi {
+        sampling_rates 44100|48000
+        channel_masks dynamic
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_AUX_DIGITAL
+        flags AUDIO_OUTPUT_FLAG_DIRECT
+      }
+    }
+    inputs {
+      primary {
+        sampling_rates 8000|11025|16000|22050|24000|32000|44100|48000
+        channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BACK_MIC
+      }
+    }
+  }
+  a2dp {
+    outputs {
+      a2dp {
+        sampling_rates 44100
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_ALL_A2DP
+      }
+    }
+  }
+  usb {
+    outputs {
+      usb_accessory {
+        sampling_rates 44100
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_USB_ACCESSORY
+      }
+      usb_device {
+        sampling_rates 44100
+        channel_masks AUDIO_CHANNEL_OUT_STEREO
+        formats AUDIO_FORMAT_PCM_16_BIT
+        devices AUDIO_DEVICE_OUT_USB_DEVICE
+      }
+    }
+  }
+}
diff --git a/prebuilt/V4A/lib/soundfx/libaudiopreprocessing.so b/prebuilt/V4A/lib/soundfx/libaudiopreprocessing.so
new file mode 100644
index 0000000..31ea881
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libaudiopreprocessing.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libbundlewrapper.so b/prebuilt/V4A/lib/soundfx/libbundlewrapper.so
new file mode 100644
index 0000000..1559009
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libbundlewrapper.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libdownmix.so b/prebuilt/V4A/lib/soundfx/libdownmix.so
new file mode 100644
index 0000000..d481dd7
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libdownmix.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libeffectproxy.so b/prebuilt/V4A/lib/soundfx/libeffectproxy.so
new file mode 100644
index 0000000..1560222
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libeffectproxy.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libfmas.so b/prebuilt/V4A/lib/soundfx/libfmas.so
new file mode 100644
index 0000000..d19e752
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libfmas.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libldnhncr.so b/prebuilt/V4A/lib/soundfx/libldnhncr.so
new file mode 100644
index 0000000..7557d65
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libldnhncr.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libqcomvoiceprocessing.so b/prebuilt/V4A/lib/soundfx/libqcomvoiceprocessing.so
new file mode 100644
index 0000000..dd79843
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libqcomvoiceprocessing.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libreverbwrapper.so b/prebuilt/V4A/lib/soundfx/libreverbwrapper.so
new file mode 100644
index 0000000..e8b897f
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libreverbwrapper.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libv4a_fx_ics.so b/prebuilt/V4A/lib/soundfx/libv4a_fx_ics.so
new file mode 100644
index 0000000..a5968e1
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libv4a_fx_ics.so
Binary files differ
diff --git a/prebuilt/V4A/lib/soundfx/libvisualizer.so b/prebuilt/V4A/lib/soundfx/libvisualizer.so
new file mode 100755
index 0000000..7859e31
--- /dev/null
+++ b/prebuilt/V4A/lib/soundfx/libvisualizer.so
Binary files differ
diff --git a/prebuilt/V4A/priv-app/ViPER4Android/ViPER4Android.apk b/prebuilt/V4A/priv-app/ViPER4Android/ViPER4Android.apk
new file mode 100644
index 0000000..31a7ae8
--- /dev/null
+++ b/prebuilt/V4A/priv-app/ViPER4Android/ViPER4Android.apk
Binary files differ
diff --git a/prebuilt/V4A/vendor/etc/audio_effects.conf b/prebuilt/V4A/vendor/etc/audio_effects.conf
new file mode 100644
index 0000000..587e2cd
--- /dev/null
+++ b/prebuilt/V4A/vendor/etc/audio_effects.conf
@@ -0,0 +1,149 @@
+# List of effect libraries to load. Each library element must contain a "path" element
+# giving the full path of the library .so file.
+#    libraries {
+#        <lib name> {
+#          path <lib path>
+#        }
+#    }
+libraries {
+  v4a_fx {
+    path /system/lib/soundfx/libv4a_fx_ics.so
+  }
+  bundle {
+    path /system/lib/soundfx/libv4a_fx_ics.so
+  }
+  reverb {
+    path /system/lib/soundfx/libv4a_fx_ics.so
+  }
+  visualizer {
+    path /system/lib/soundfx/libvisualizer.so
+  }
+  downmix {
+    path /system/lib/soundfx/libv4a_fx_ics.so
+  }
+}
+
+# Default pre-processing library. Add to audio_effect.conf "libraries" section if
+# audio HAL implements support for default software audio pre-processing effects
+#
+#  pre_processing {
+#    path /system/lib/soundfx/libv4a_fx_ics.so
+#  }
+
+# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
+# The value of the "library" element must correspond to the name of one library element in the
+# "libraries" element.
+# The name of the effect element is indicative, only the value of the "uuid" element
+# designates the effect.
+# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
+# generic effect type UUID.
+#    effects {
+#        <fx name> {
+#            library <lib name>
+#            uuid <effect uuid>
+#        }
+#        ...
+#    }
+
+effects {
+  v4a_standard_fx {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  bassboost {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  virtualizer {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  equalizer {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  volume {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  reverb_env_aux {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  reverb_env_ins {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  reverb_pre_aux {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  reverb_pre_ins {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+  visualizer {
+    library visualizer
+    uuid d069d9e0-8329-11df-9168-0002a5d5c51b
+  }
+  downmix {
+    library v4a_fx
+    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+  }
+}
+
+# Default pre-processing effects. Add to audio_effect.conf "effects" section if
+# audio HAL implements support for them.
+#
+#  agc {
+#    library v4a_fx
+#    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b   
+#  }
+#  aec {
+#    library v4a_fx
+#    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+#  }
+#  ns {
+#    library v4a_fx
+#    uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
+#  }
+
+# Audio preprocessor configurations.
+# The pre processor configuration consists in a list of elements each describing
+# pre processor settings for a given input source. Valid input source names are:
+# "mic", "camcorder", "voice_recognition", "voice_communication"
+# Each input source element contains a list of effects elements. The name of the effect
+# element must be the name of one of the effects in the "effects" list of the file.
+# Each effect element may optionally contain a list of parameters and their
+# default value to apply when the pre processor effect is created.
+# A parameter is defined by a "param" element and a "value" element. Each of these elements
+# consists in one or more elements specifying a type followed by a value.
+# The types defined are: "int", "short", "float", "bool" and "string"
+# When both "param" and "value" are a single int, a simple form is allowed where just
+# the param and value pair is present in the parameter description
+#    pre_processing {
+#        <input source name> {
+#            <fx name> {
+#                <param 1 name> {
+#                    param {
+#                        int|short|float|bool|string <value>
+#                        [ int|short|float|bool|string <value> ]
+#                        ...
+#                    }
+#                    value {
+#                        int|short|float|bool|string <value>
+#                        [ int|short|float|bool|string <value> ]
+#                        ...
+#                    }
+#                }
+#                <param 2 name > {<param> <value>}
+#                ...
+#            }
+#            ...
+#        }
+#        ...
+#    }
+
+#
+# TODO: add default audio pre processor configurations after debug and tuning phase
+#
diff --git a/prebuilt/common/bin/50-cm.sh b/prebuilt/common/bin/50-bliss.sh
similarity index 85%
rename from prebuilt/common/bin/50-cm.sh
rename to prebuilt/common/bin/50-bliss.sh
index c8b81cb..0da6232 100755
--- a/prebuilt/common/bin/50-cm.sh
+++ b/prebuilt/common/bin/50-bliss.sh
@@ -1,7 +1,7 @@
 #!/sbin/sh
 # 
-# /system/addon.d/50-cm.sh
-# During a CM13.0 upgrade, this script backs up /system/etc/hosts,
+# /system/addon.d/50-bliss.sh
+# During a Bliss upgrade, this script backs up /system/etc/hosts,
 # /system is formatted and reinstalled, then the file is restored.
 #
 
diff --git a/prebuilt/common/bin/backuptool.functions b/prebuilt/common/bin/backuptool.functions
index 9598f23..aaecba0 100644
--- a/prebuilt/common/bin/backuptool.functions
+++ b/prebuilt/common/bin/backuptool.functions
@@ -5,7 +5,7 @@
 
 export C=/tmp/backupdir
 export S=/system
-export V=13.0
+export V=6
 
 backup_file() {
   if [ -e "$1" ]; then
diff --git a/prebuilt/common/bin/backuptool.sh b/prebuilt/common/bin/backuptool.sh
index 7ff0c88..ecda592 100755
--- a/prebuilt/common/bin/backuptool.sh
+++ b/prebuilt/common/bin/backuptool.sh
@@ -5,7 +5,7 @@
 
 export C=/tmp/backupdir
 export S=/system
-export V=13.0
+export V=6
 
 # Scripts in /system/addon.d expect to find backuptool.functions in /tmp
 cp -f /tmp/install/bin/backuptool.functions /tmp
@@ -33,7 +33,7 @@
 if [ ! -r /system/build.prop ]; then
     return 0
 fi
-if ( ! grep -q "^ro.cm.version=$V.*" /system/build.prop ); then
+if ( ! grep -q "^ro.bliss.version=$V.*" /system/build.prop ); then
   echo "Not backing up files from incompatible version: $V"
   return 0
 fi
diff --git a/prebuilt/common/bootanimation/1080.zip b/prebuilt/common/bootanimation/1080.zip
index c2d29e2..1d21a75 100644
--- a/prebuilt/common/bootanimation/1080.zip
+++ b/prebuilt/common/bootanimation/1080.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/1200.zip b/prebuilt/common/bootanimation/1200.zip
index 95b1fdc..1eff046 100644
--- a/prebuilt/common/bootanimation/1200.zip
+++ b/prebuilt/common/bootanimation/1200.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/1440.zip b/prebuilt/common/bootanimation/1440.zip
index d9c6dc3..8ab8468 100644
--- a/prebuilt/common/bootanimation/1440.zip
+++ b/prebuilt/common/bootanimation/1440.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/1536.zip b/prebuilt/common/bootanimation/1536.zip
deleted file mode 100644
index a2fc1b6..0000000
--- a/prebuilt/common/bootanimation/1536.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/1600.zip b/prebuilt/common/bootanimation/1600.zip
index f008848..282e339 100644
--- a/prebuilt/common/bootanimation/1600.zip
+++ b/prebuilt/common/bootanimation/1600.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/240.zip b/prebuilt/common/bootanimation/240.zip
deleted file mode 100644
index 94b671e..0000000
--- a/prebuilt/common/bootanimation/240.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/320.zip b/prebuilt/common/bootanimation/320.zip
deleted file mode 100644
index 7a9f86d..0000000
--- a/prebuilt/common/bootanimation/320.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/360.zip b/prebuilt/common/bootanimation/360.zip
deleted file mode 100644
index 1906137..0000000
--- a/prebuilt/common/bootanimation/360.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/480.zip b/prebuilt/common/bootanimation/480.zip
deleted file mode 100644
index de6d2fa..0000000
--- a/prebuilt/common/bootanimation/480.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/540.zip b/prebuilt/common/bootanimation/540.zip
deleted file mode 100644
index 3458bbb..0000000
--- a/prebuilt/common/bootanimation/540.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/600.zip b/prebuilt/common/bootanimation/600.zip
index f7662ce..c42c8ce 100644
--- a/prebuilt/common/bootanimation/600.zip
+++ b/prebuilt/common/bootanimation/600.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/720.zip b/prebuilt/common/bootanimation/720.zip
deleted file mode 100644
index aaabf4f..0000000
--- a/prebuilt/common/bootanimation/720.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/768.zip b/prebuilt/common/bootanimation/768.zip
deleted file mode 100644
index f8521dd..0000000
--- a/prebuilt/common/bootanimation/768.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/800.zip b/prebuilt/common/bootanimation/800.zip
index 08d5785..7cc378d 100644
--- a/prebuilt/common/bootanimation/800.zip
+++ b/prebuilt/common/bootanimation/800.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1080.zip b/prebuilt/common/bootanimation/halfres/1080.zip
index efb45ca..f39f45b 100644
--- a/prebuilt/common/bootanimation/halfres/1080.zip
+++ b/prebuilt/common/bootanimation/halfres/1080.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1200.zip b/prebuilt/common/bootanimation/halfres/1200.zip
index d63a0b0..7d9a090 100644
--- a/prebuilt/common/bootanimation/halfres/1200.zip
+++ b/prebuilt/common/bootanimation/halfres/1200.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1440.zip b/prebuilt/common/bootanimation/halfres/1440.zip
index eba6346..e591517 100644
--- a/prebuilt/common/bootanimation/halfres/1440.zip
+++ b/prebuilt/common/bootanimation/halfres/1440.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1536.zip b/prebuilt/common/bootanimation/halfres/1536.zip
deleted file mode 100644
index 3f6da277..0000000
--- a/prebuilt/common/bootanimation/halfres/1536.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/1600.zip b/prebuilt/common/bootanimation/halfres/1600.zip
index 61132a9..c1a634d 100644
--- a/prebuilt/common/bootanimation/halfres/1600.zip
+++ b/prebuilt/common/bootanimation/halfres/1600.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/240.zip b/prebuilt/common/bootanimation/halfres/240.zip
deleted file mode 100644
index 59735d0..0000000
--- a/prebuilt/common/bootanimation/halfres/240.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/320.zip b/prebuilt/common/bootanimation/halfres/320.zip
deleted file mode 100644
index 7497da0..0000000
--- a/prebuilt/common/bootanimation/halfres/320.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/360.zip b/prebuilt/common/bootanimation/halfres/360.zip
deleted file mode 100644
index f1247f7..0000000
--- a/prebuilt/common/bootanimation/halfres/360.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/480.zip b/prebuilt/common/bootanimation/halfres/480.zip
deleted file mode 100644
index 44db576..0000000
--- a/prebuilt/common/bootanimation/halfres/480.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/540.zip b/prebuilt/common/bootanimation/halfres/540.zip
deleted file mode 100644
index 35b631c..0000000
--- a/prebuilt/common/bootanimation/halfres/540.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/600.zip b/prebuilt/common/bootanimation/halfres/600.zip
index ec352f7..7c4fca6 100644
--- a/prebuilt/common/bootanimation/halfres/600.zip
+++ b/prebuilt/common/bootanimation/halfres/600.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/720.zip b/prebuilt/common/bootanimation/halfres/720.zip
deleted file mode 100644
index cc7b7d3..0000000
--- a/prebuilt/common/bootanimation/halfres/720.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/768.zip b/prebuilt/common/bootanimation/halfres/768.zip
deleted file mode 100644
index f87e834..0000000
--- a/prebuilt/common/bootanimation/halfres/768.zip
+++ /dev/null
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/800.zip b/prebuilt/common/bootanimation/halfres/800.zip
index 051db72..ff73991e 100644
--- a/prebuilt/common/bootanimation/halfres/800.zip
+++ b/prebuilt/common/bootanimation/halfres/800.zip
Binary files differ
diff --git a/prebuilt/common/bootanimation/halfres/generate-half-res-anims.sh b/prebuilt/common/bootanimation/halfres/generate-half-res-anims.sh
index 70f6fad..20379f0 100755
--- a/prebuilt/common/bootanimation/halfres/generate-half-res-anims.sh
+++ b/prebuilt/common/bootanimation/halfres/generate-half-res-anims.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-HALF_RES_RESOLUTIONS="240 320 360 480 540 600 720 768 800 1080 1200 1440 1536 1600"
+HALF_RES_RESOLUTIONS="480 600 720 800 1080 1200 1440 1600"
 
 for i in $HALF_RES_RESOLUTIONS; do
 	rm -f $i.zip
diff --git a/prebuilt/common/etc/init.d/00banner b/prebuilt/common/etc/init.d/00banner
index a04ef18..6600404 100644
--- a/prebuilt/common/etc/init.d/00banner
+++ b/prebuilt/common/etc/init.d/00banner
@@ -7,4 +7,4 @@
 $L "____ _   _ ____ _  _ ____ ____ ____ _  _ _  _ ____ ___";
 $L "|     \\_/  |__| |\\ | |  | | __ |___ |\\ | |\\/| |  | |  \\";
 $L "|___   |   |  | | \\| |__| |__] |___ | \\| |  | |__| |__/";
-$L "Welcome to Android `getprop ro.build.version.release` / CyanogenMod-`getprop ro.cm.version`";
+$L "Welcome to Android `getprop ro.build.version.release` / CyanogenMod-`getprop ro.bliss.version`";
diff --git a/prebuilt/common/etc/init.d/90userinit b/prebuilt/common/etc/init.d/90userinit
index 072063e..82f5944 100755
--- a/prebuilt/common/etc/init.d/90userinit
+++ b/prebuilt/common/etc/init.d/90userinit
@@ -5,5 +5,5 @@
 then
    log -p i -t userinit "Executing /data/local/userinit.sh";
    /system/bin/sh /data/local/userinit.sh;
-   setprop cm.userinit.active 1;
+   setprop bliss.userinit.active 1;
 fi;
diff --git a/sepolicy/mac_permissions.xml b/sepolicy/mac_permissions.xml
index 184e356..e91c6f4 100644
--- a/sepolicy/mac_permissions.xml
+++ b/sepolicy/mac_permissions.xml
@@ -14,11 +14,4 @@
     <allow-all />
     <seinfo value="release" />
   </signer>
-
-  <!-- CMUpdater -->
-  <signer signature="@RELEASE" >
-    <package name="com.cyanogenmod.updater" >
-      <seinfo value="cmupdater" />
-    </package>
-  </signer>
 </policy>
diff --git a/sepolicy/property_contexts b/sepolicy/property_contexts
index d6beeb2..f1fcfae 100644
--- a/sepolicy/property_contexts
+++ b/sepolicy/property_contexts
@@ -1,4 +1,4 @@
 service.adb.tcp.port          u:object_r:adbtcp_prop:s0
 recovery.perf.mode            u:object_r:recovery_prop:s0
 adb.secure                    u:object_r:recovery_prop:s0
-cm.userinit.active            u:object_r:userinit_prop:s0
+bliss.userinit.active         u:object_r:userinit_prop:s0
diff --git a/sepolicy/qcom/sepolicy.mk b/sepolicy/qcom/sepolicy.mk
index 1214054..fd4da4c 100644
--- a/sepolicy/qcom/sepolicy.mk
+++ b/sepolicy/qcom/sepolicy.mk
@@ -1,2 +1,2 @@
 BOARD_SEPOLICY_DIRS += \
-    vendor/cm/sepolicy/qcom
+    vendor/bliss/sepolicy/qcom
diff --git a/sepolicy/seapp_contexts b/sepolicy/seapp_contexts
index 06c96d4..bfad418 100644
--- a/sepolicy/seapp_contexts
+++ b/sepolicy/seapp_contexts
@@ -1,3 +1,2 @@
 user=_app seinfo=platform name=com.cyanogenmod.filemanager domain=untrusted_app type=app_data_file
 user=theme_man domain=system_app type=system_data_file
-user=_app seinfo=cmupdater name=com.cyanogenmod.updater domain=system_app type=system_app_data_file
diff --git a/sepolicy/sepolicy.mk b/sepolicy/sepolicy.mk
index 1452787..cc89aa0 100644
--- a/sepolicy/sepolicy.mk
+++ b/sepolicy/sepolicy.mk
@@ -1,7 +1,7 @@
 #
 # This policy configuration will be used by all products that
-# inherit from CM
+# inherit from Bliss
 #
 
 BOARD_SEPOLICY_DIRS += \
-    vendor/cm/sepolicy
+    vendor/bliss/sepolicy
diff --git a/sepolicy/service.te b/sepolicy/service.te
index 579e2b8..01d0515 100644
--- a/sepolicy/service.te
+++ b/sepolicy/service.te
@@ -7,5 +7,4 @@
 type cm_partner_interface, system_api_service, system_server_service, service_manager_type;
 type cm_telephony_service, system_api_service, system_server_service, service_manager_type;
 type cm_hardware_service, system_api_service, system_server_service, service_manager_type;
-type cm_app_suggest_service, system_api_service, system_server_service, service_manager_type;
 type cm_performance_service, system_api_service, system_server_service, service_manager_type;
diff --git a/sepolicy/service_contexts b/sepolicy/service_contexts
index 4baf0f8..75f918a 100644
--- a/sepolicy/service_contexts
+++ b/sepolicy/service_contexts
@@ -7,5 +7,4 @@
 cmpartnerinterface                        u:object_r:cm_partner_interface:s0
 cmtelephonymanager                        u:object_r:cm_telephony_service:s0
 cmhardware                                u:object_r:cm_hardware_service:s0
-cmappsuggest                              u:object_r:cm_app_suggest_service:s0
 cmperformance                             u:object_r:cm_performance_service:s0
diff --git a/tools/build.sh b/tools/build.sh
new file mode 100644
index 0000000..495018d
--- /dev/null
+++ b/tools/build.sh
@@ -0,0 +1,181 @@
+#!/bin/bash
+
+#    BlissPop  Compilation Script
+#
+#    Copyright (C) 2015 Team Bliss
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, either version 3 of the License, or
+#    any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+# No scrollback buffer
+echo -e '\0033\0143'
+
+
+
+# Get intial time of script startup
+res1=$(date +%s.%N)
+
+
+
+# Specify colors for shell
+red='tput setaf 1'              # red
+green='tput setaf 2'            # green
+yellow='tput setaf 3'           # yellow
+blue='tput setaf 4'             # blue
+violet='tput setaf 5'           # violet
+cyan='tput setaf 6'             # cyan
+white='tput setaf 7'            # white
+txtbld=$(tput bold)             # Bold
+bldred=${txtbld}$(tput setaf 1) # Bold red
+bldgrn=${txtbld}$(tput setaf 2) # Bold green
+bldblu=${txtbld}$(tput setaf 4) # Bold blue
+bldcya=${txtbld}$(tput setaf 6) # Bold cyan
+normal='tput sgr0'
+
+
+tput bold
+tput setaf 1
+clear
+echo -e ""
+echo -e "      ___           ___                   ___           ___              "
+echo -e "     /\  \         /\__\      ___        /\  \         /\  \             "
+echo -e "    /::\  \       /:/  /     /\  \      /::\  \       /::\  \            "
+echo -e "   /:/\:\  \     /:/  /      \:\  \    /:/\ \  \     /:/\ \  \           "
+echo -e "  /::\~\:\__\   /:/  /       /::\__\  _\:\~\ \  \   _\:\~\ \  \          "
+echo -e " /:/\:\ \:|__| /:/__/     __/:/\/__/ /\ \:\ \ \__\ /\ \:\ \ \__\         "
+echo -e " \:\~\:\/:/  / \:\  \    /\/:/  /    \:\ \:\ \/__/ \:\ \:\ \/__/         "
+echo -e "  \:\ \::/  /   \:\  \   \::/__/      \:\ \:\__\    \:\ \:\__\           " 
+echo -e "   \:\/:/  /     \:\  \   \:\__\       \:\/:/  /     \:\/:/  /           "  
+echo -e "    \::/__/       \:\__\   \/__/        \::/  /       \::/  /            "
+echo -e "     ~~            \/__/                 \/__/         \/__/             "
+echo -e ""
+echo -e ""
+echo -e ""
+echo -e ""
+echo -e ""
+
+sleep 3s
+
+
+# Confirm 'repo sync'
+echo -e "\n\n${bldgrn}  Do you want to repo sync before proceeding?\n"
+echo ""
+echo -e "${bldblu}  1. Yes"
+echo -e "${bldblu}  2. No"
+echo ""
+echo ""
+$normal
+read askreposync
+
+# Confirm 'make clean'
+echo -e "\n\n${bldgrn}  Do you want to make clean?\n"
+echo ""
+echo -e "${bldblu}  1. Yes"
+echo -e "${bldblu}  2. No"
+echo ""
+echo ""
+$normal
+read askClean
+
+echo ""
+echo ""
+if [ "$askreposync" == "1" ]
+then
+    echo -e "${bldred}  Will repo sync before starting the build... "
+else
+    echo -e "${bldred}  Will continue without repo syncing... "
+fi
+echo ""
+echo ""
+
+echo ""
+echo ""
+
+if [ "$askClean" == "1" ]
+then
+    echo -e "${bldred}  Compilation will continue after cleaning previous build files... "
+else
+    echo -e "${bldred}  ROM will be compiled without cleaning previous build files... "
+fi
+echo ""
+echo ""
+
+echo ""
+echo ""
+
+
+sleep 2s
+
+
+if [ "$askreposync" == "1" ]
+then
+	echo ""
+	echo ""
+	echo -e "${bldgrn}  syncing... "
+	echo ""
+	echo ""
+	$normal
+	repo sync -j250
+fi
+
+if [ "$askClean" == "1" ]
+then
+	echo ""
+	echo ""
+	echo -e "${bldgrn}  Cleaning before starting build... "
+	echo ""
+	echo ""
+	$normal
+	rm -rf out
+fi
+
+# Setup environment
+echo -e ""
+echo -e ""
+echo -e "${bldgrn}  Setting up build environment..."
+echo -e ""
+echo -e ""
+$normal
+. build/envsetup.sh
+
+
+# Lunch device
+echo -e ""
+echo -e ""
+echo -e "${bldcya}  Choose your device from the lunch menu..."
+echo -e ""
+echo -e ""
+$normal
+$green
+lunch
+
+# Start compilation
+echo -e ""
+echo -e ""
+echo -e "${bldcya}  Starting compilation BlissPop..."
+echo -e ""
+echo -e ""
+$normal
+mka bacon
+echo -e ""
+
+
+
+# Compilation complete
+tput bold
+tput setaf 1
+echo -e ""
+echo -e "The build process has finished"
+echo -e ""
+echo -e ""
diff --git a/tools/changelog b/tools/changelog
new file mode 100755
index 0000000..2ee6e3b
--- /dev/null
+++ b/tools/changelog
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# Exports
+
+. $ANDROID_BUILD_TOP/vendor/bliss/tools/colors
+
+export Changelog=CHANGELOG-bliss.txt
+
+if [ -f $Changelog ];
+then
+	rm -f $Changelog
+fi
+
+touch $Changelog
+
+# Print something to build output
+echo ${bldppl}"Generating changelog..."${txtrst}
+
+for i in $(seq 5);
+do
+export After_Date=`date --date="$i days ago" +%m-%d-%Y`
+k=$(expr $i - 1)
+	export Until_Date=`date --date="$k days ago" +%m-%d-%Y`
+
+	# Line with after --- until was too long for a small ListView
+	echo '====================' >> $Changelog;
+	echo  "     "$Until_Date       >> $Changelog;
+	echo '===================='	>> $Changelog;
+	echo >> $Changelog;
+
+	# Cycle through every repo to find commits between 2 dates
+	repo forall -pc 'git log --oneline --after=$After_Date --until=$Until_Date' >> $Changelog
+	echo >> $Changelog;
+done
+
+sed -i 's/project/   */g' $Changelog
+
+cp $Changelog $OUT/system/etc/
+rm $Changelog
diff --git a/tools/colors b/tools/colors
new file mode 100755
index 0000000..b653210
--- /dev/null
+++ b/tools/colors
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+if [ ! "$BUILD_WITH_COLORS" = "0" ]; then
+    red=$(tput setaf 1)             #  red
+    grn=$(tput setaf 2)             #  green
+    ylw=$(tput setaf 3)             #  yellow
+    blu=$(tput setaf 4)             #  blue
+    ppl=$(tput setaf 5)             #  purple
+    cya=$(tput setaf 6)             #  cyan
+    txtbld=$(tput bold)             #  Bold
+    bldred=${txtbld}$(tput setaf 1) #  red
+    bldgrn=${txtbld}$(tput setaf 2) #  green
+    bldylw=${txtbld}$(tput setaf 3) #  yellow
+    bldblu=${txtbld}$(tput setaf 4) #  blue
+    bldppl=${txtbld}$(tput setaf 5) #  purple
+    bldcya=${txtbld}$(tput setaf 6) #  cyan
+    txtrst=$(tput sgr0)             #  Reset
+    rev=$(tput rev)                 #  Reverse color
+    pplrev=${rev}$(tput setaf 5)
+    cyarev=${rev}$(tput setaf 6)
+    ylwrev=${rev}$(tput setaf 3)
+    blurev=${rev}$(tput setaf 4)
+fi
diff --git a/tools/otaxml b/tools/otaxml
new file mode 100755
index 0000000..d0849fe
--- /dev/null
+++ b/tools/otaxml
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# Exports
+
+. $ANDROID_BUILD_TOP/vendor/bliss/tools/colors
+
+export otaxml=ota${BLISS_OTA_XMLVER}.xml
+
+if [ -f $otaxml ];
+then
+  rm -f $otaxml
+fi
+
+cp vendor/bliss/ota.xml $otaxml
+
+touch $otaxml
+
+BLISS_OTA_MD5=$(cat "$OUT/$BLISS_OTA_VERNAME.zip.md5sum" | cut -d ' ' -f 1)
+BLISS_OTA_FILESIZE=$(ls -la "$OUT/$BLISS_OTA_VERNAME.zip" | cut -d ' ' -f 5)
+
+sed -i "s/BLISS_OTA_ROM/${BLISS_OTA_ROM}/g" $otaxml
+sed -i "s/BLISS_OTA_VERNAME/${BLISS_OTA_VERNAME}/g" $otaxml
+sed -i "s/BLISS_OTA_VERSION/${BLISS_OTA_VER}/g" $otaxml
+sed -i "s|BLISS_OTA_URL|${BLISS_OTA_URL}|g" $otaxml
+sed -i "s/BLISS_OTA_MD5/${BLISS_OTA_MD5}/g" $otaxml
+sed -i "s/BLISS_OTA_FILESIZE/${BLISS_OTA_FILESIZE}/g" $otaxml
+sed -i "s/BLISS_DEVELOPER/${BLISS_DEVELOPER}/g" $otaxml
+sed -i "s|BLISS_DONATE|${BLISS_DONATE}|g" $otaxml
+
+cp $otaxml $OUT/
+rm $otaxml
+
+echo ${bldppl}"ota.xml generated."${txtrst}
diff --git a/vendorsetup.sh b/vendorsetup.sh
index 642da70..93e98de 100644
--- a/vendorsetup.sh
+++ b/vendorsetup.sh
@@ -1,4 +1,4 @@
-for combo in $(curl -s https://raw.githubusercontent.com/CyanogenMod/hudson/master/cm-build-targets | sed -e 's/#.*$//' | grep cm-13.0 | awk '{printf "cm_%s-%s\n", $1, $2}')
+for combo in $(cat vendor/bliss/bliss-device-targets)
 do
     add_lunch_combo $combo
 done
