each event has a shape property
added simple output generation