elaborated on requirements