issue #4 - expanded unit tests