Refactoring and new specs