implement basic events
wip
crashfix