draft implementation of createUser