add event system basics