updated to carbon kernel basing off jellyime by randomblame