refactoring 1_3