code refactoring, exp refactoring