various requirements