my personal mix and match kernel. i'm sorry for some of the improper commits, i am using smartgithg and i don't know how to make it to properly cherry pick stuff and commit as the original author :(