global refactoring v1