add spec
Refactaring