update business logic of userRegistration, not tested