rearrange the definitions