So much refactoring, yo