Fleshed out user creation and form validation