implementation location listener