adding initial versions that are not fully tested.  Trigger should be mostly working