Added requirement types, and checks