Refactory
Refactor done