Working
Refactioring