cleaned up location listener