refactor - part 3