add Reoreder and Reverse