user register prototype