basic structure $devents