refactoring my silliness