a little more rearranging