adding more spec and refactoring department