refactor problem 17