add collector + listener + event