refactor part 4