added data-directed programming example