first revise
first loop of revise