Refactoring All Throughout