revise some code in gps