Refactoring WIP 15