working skeleton with event bindings