working on requires clauses