Huge code cleanup and added

//FIXME's for stuff i'll have to fix and a ton of //TODO's for stuff to
do :DD