some more rearranging