add event.cpp
update to last changes*