updated event flow chart