adding Blair's original work
first cut at the control, has basic functionality