a bunch of refactors
some progress and reshuffling