Wip refactoring steps