Refactor to Specifications and Specification