User refactor part 2