Refactored ALL the things