finished barebones create-user function