updated to use network provider as well as gps