Refactoring WIP 6