fixed multiple event listeners