Major merge, hope i didn't kill anything