gelocation
refactor and save/reset user location