create user functionality completed