issue #3 -- lots of unit test for an implementation that might pass integration testing.