add gps function