moved worker listener into proper event