WIP -- Refactoring