implemented GPS handling