test and revise