add event chaining and fix listenTo pattern
start reports implementing