updated listener