fix messageListener