creates user if user doesn't already exist