refactoring - specs passing