add some manipulations(not finish)