Part 4: User class