begin back end registration code; added validation