Done with refactoring