refactoring 1.0