refactoring 01