prepare for additional trigger modes.
implement triggers -- work in progress