added location functions