reordering the requirements