refactor - part 1