fixing GPS implementation