pretty much done

not going to do seperate commits for all the changes