added events support as requested