Finished Refactoring