more stable location processing and doesn't stop updating when paused