add user registration & authentication