added location based functions