This is the true refactoring