listener macro
removed trash