Refactoring WIP 11