optional listeners