specs, refactoring