models - specs and refactor