last refactoring changes