Design refactoring, pt. 1