Work In Progress Refactor