Refactored CreateUser