added events
rebased from master
a