listener updates