rearranging some of the operations