moar refactorings