worked through docs on events