added event declaration
added system enter/exit methods