refactoring 2.0