Start event implementation
event implementation (untested)