start global refactoring