invoke listener functions