slight, unsatisfactory refactoring