Completed refactoring with a proper IDE