add location listener