the horrible realization that a lot of stuff needs refactoring