all the requirements are required