added geo location functions