refactor part one