updated location handling