a lot of the grunt work of placing all the files where they need to be. not perfect yet
some dependencies