Refactor: Massive refactoring