-------------------------------------------------------------------------
NOTE: Fields marked with * are required