add STRUCT implementation and test harness.