add and rearrange utilities