implement user registration & authentication
change api response msg to be more machine-readable