more spec refactoring