rearranged requirements