added unit test harness