refactored specs.