ton more refactoring, turns out we were passing around result for no reason a majority of the time, more to come