add test harness and spec to ensure it works