extension listener