the whole thing rearranged