refactoring: 30% (maybe!)