added all events and handlers