move a bunch of things to separate files