initial GPS implementation