Fix
Update specs
Refactor Functions