diff --git a/CONTRIBUTORS.mkdn b/CONTRIBUTORS.mkdn
deleted file mode 100644
index 3954506..0000000
--- a/CONTRIBUTORS.mkdn
+++ /dev/null
@@ -1,252 +0,0 @@
-LineageOS
-===========
-
-Maintainers (LineageOS 14.1):
------------------------------
-* __Acer A700:__ pawitp
-* __Alcatel Idol 3:__ c457
-* __Amazon Kindle Fire 1st Edition:__ Hashcode, FuZZ__
-* __Amazon Kindle Fire 2nd Edition:__ Hashcode, FuZZ__
-* __ARK Benefit A3 (peach):__ lolmaxlik
-* __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
-* __Asus Zenfone 2 ZE550ML (Z008):__ crpalmer, jrior001
-* __Asus Zenfone 2 ZE551ML (Z00A):__ crpalmer, jrior001
-* __Asus Zenfone 2 ZE550KL (Z00L):__ LuK1337, luca020400
-* __Asus Zenfone 2 ZE551KL/ZD551KL (Z00T):__ LuK1337, luca020400
-* __Asus ZenPad 8.0 Z380KL:__ vm03
-* __B&N NookColor (encore):__ eyeballer, fattire, keyodi, krylon360, sluo (NookieDevs)
-* __B&N Nook Tablet (acclaim):__  chrmhoffmann
-* __BQ Aquaris E5 4G/E5 S (vegetalte):__  cmorlok, eloimuns, Kra1o5, stucki, brinlyau (aquaris-dev)
-* __BQ Aquaris M5 (piccolo):__  cmorlok, eloimuns, Kra1o5, stucki, brinlyau (aquaris-dev)
-* __BQ Aquaris X5 (paella):__  cmorlok, eloimuns, Kra1o5, stucki, brinlyau (aquaris-dev), marado
-* __BQ Aquaris X5 Plus (gohan):__  cmorlok, eloimuns, Kra1o5, stucki, brinlyau (aquaris-dev)
-* __Google Android One:__ varunchitre15
-* __Google Galaxy Nexus:__ Ziyan, musical_chairs
-* __Google Nexus S:__ burnsra, KalimochoAz, klusark
-* __Google Nexus 4:__ ciwrl
-* __Google Nexus 5:__ ciwrl
-* __Google Nexus 5X:__ ciwrl, jakew02
-* __Google Nexus 6:__ dhacker29
-* __Google Nexus 6P:__ ciwrl, dhacker29, Sam Mortimer
-* __Google Nexus 7:__ burnsra, fattire, Thömy, nemith, JoeyRizzoli (GSM)
-* __Google Nexus 7 (2013):__ ciwrl, nardholio, zwliew
-* __Google Nexus 9:__ simonsickle, ciwrl
-* __Google Nexus 10:__ Tortel, ciwrl
-* __Google Nexus Player:__ dhacker29, bmc08gt
-* __HTC Desire 601(zara/zaracl):__ uberlaggydarwin, PatrikKT
-* __HTC Desire 816:__ Grarak, v_superuser
-* __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
-* __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, jrior001
-* __Huawei Ascend Mate 2:__ mdmower, u-ra
-* __Huawei Honor 4/4X (cherry):__ dianlujitao, surdupetru, desalesouche
-* __LeEco Le 2 (s2):__ codeworkx
-* __LG G Pad 8.3 (v500):__ fefifofum
-* __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 G2 Mini:__ Quarx2k, vm03, NikitaProAndroid
-* __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):__ Kasual
-* __LG G3 (Verizon) (VS985):__ invisiblek
-* __LG G3 Beat (D722):__ Quarx2k, vm03, NikitaProAndroid
-* __LG G3 s (D724):__ Quarx2k, vm03, NikitaProAndroid
-* __LG G4 (T-Mobile) (H811):__ codeworkx, genesixxbf3
-* __LG G4 (International) (H815):__ codeworkx, genesixxbf3
-* __LG Optimus L70:__ Quarx2k, vm03, NikitaProAndroid
-* __LG Optimus L90:__ Quarx2k, vm03, NikitaProAndroid
-* __LG Optimus LTE (P930) / LG Nitro HD {P935):__ arcee
-* __LG Optimus LTE (SK Telecom) (SU640):__ arcee
-* __Moto E 2014 (xt1021,xt1022,xt1023/condor):__
-* __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 G4 (xt1621,xt1622,xt1625,xt1626/athene):__ Vachounet, Shr3ps, sileshn, ashwin007, rahulsnair
-* __Moto G4 Plus (xt1640,xt1641,xt1642,xt1643,xt1644/athene_f):__ Vachounet, Shr3ps, sileshn, ashwin007, rahulsnair
-* __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
-* __OnePlus Two:__ ciwrl, grarak, raymanfx
-* __OnePlus X:__ ashwin007, MasterAwesome
-* __Oppo Find 5:__ intervigil, nebkat, raymanfx
-* __Oppo Find 7:__ intervigil, tdm, inwotep, mikeioannina
-* __Oppo N1:__ raymanfx
-* __Oppo N3:__ jrior001
-* __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, rogersb11
-* __Samsung Galaxy Note II LTE (Verizon) (SCH-I605):__ sbrissen, rogersb11
-* __Samsung Galaxy Note II LTE (Sprint) (SPH-L900):__ sbrissen, rogersb11
-* __Samsung Galaxy Note II LTE (USCC) (SCH-R950):__ sbrissen, rogersb11
-* __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 (intl) (GT-I9300):__ forkbomb
-* __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, invisiblek, dcd, zwliew
-* __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 S V LTE (SM-G900F):__ haggertk, OzzysCmAcc
-* __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 Galaxy Tab S2 9.7" (SM-T810):__ raymanfx, T_I
-* __Samsung Galaxy Tab S2 9.7 (LTE)" (SM-T815):__ raymanfx
-* __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):__ AdrianDC
-* __Sony Xperia T (mint):__ AdrianDC, FreeXperia Team
-* __Sony Xperia T2 Ultra  (tianchi):__ FreeXperia Team
-* __Sony Xperia T3  (seagull):__ FreeXperia Team
-* __Sony Xperia TX (hayabusa):__ AdrianDC, FreeXperia Team
-* __Sony Xperia V (tsubasa):__ AdrianDC, FreeXperia Team
-* __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
-* __Xiaomi Mi5 (gemini):__ bgcngm, defer, h2o64
-* __Xiaomi Redmi 1S (armani):__ fefifofum
-* __Xiaomi Redmi 3/Prime (ido):__ Anik1199
-* __Xiaomi Redmi Note 3 (kenzo):__ TheStrix
-* __ZTE Axon 7 (axon7):__ bmc08gt, c457, tdm
-* __ZTE Nubia Z9 Max (nx510j):__ dianlujitao
-
-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
-
-Translations Managers:
-----------------------
-BadDaemon, ciwrl, mikeioannina, forkbomb, linuxx
-
-Translations Proofreaders:
---------------------------
-* __Bulgarian:__ Hristo Dipchikov (hristodipchikov)
-* __Catalan:__ Arnau
-* __Chinese Simplified:__ YFdyh000, 陈少举 (chenshaoju), Yun Liu (liuyun97)
-* __Chinese Traditional:__ 阿捷 aJay (boxajay)
-* __Czech:__ Ondrej Zima (Keltek)
-* __Danish:__ Jacob_DK
-* __Dutch:__ Eddy Witkamp (eddywitkamp), Peter Buijsman (Dawnes)
-* __English, Australia:__ Simon Shields (forkbomb)
-* __Finnish:__ Niko Koivu (niko0o)
-* __French:__ Adrian DC (RadianDC)
-* __Galician:__ mandruis (manuiglesias96)
-* __German:__ Michael W (baddaemon87), Danny Baumann (maniac103), Kim Le (elektroschmock78)
-* __Greek:__ Michael Bestas (mikeioannina)
-* __Hebrew:__ Nir Bruderman (nbruderman)
-* __Hungarian:__ Tamás Tóth (tothtamassyman)
-* __Kashubian:__ Krzysztof Mesek (mesiu84)
-* __Italian:__ Joey Rizzoli (linuxx)
-* __Luxembourgish:__ Michel Weimerskirch (michel_weimerskirch), Edson Souza Morais (soued031)
-* __Norwegian Bokmal:__ Vegard Fladby (Allram), Syver Stensholt (sssandum)
-* __Pirate English:__ Paul Keith (javelinanddart)
-* __Polish:__ Mateusz (godlesplay)
-* __Portuguese:__ Sergio Borges (sergioborges99)
-* __Romanian:__ Pop Alexandru Radu (minealex2244)
-* __Serbian (Cyrillic):__ Драган (WD40)
-* __Slovak:__ Róbert Barát (rbarat)
-* __Ukrainian:__ Aleksander Belilovets (Aleksander_Belilovets)
-
-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
