Refactoring... again...