what are the types of requirements