revised copy, included prototype example