Messed a lot of things up, read TODO