added geo location functionality