Create GPS_Functions

The mess that is the GPS functions... this needs a lot of re-work