refactored location code a lot and added location updates when you move