Wip

Refactoring