Issue #403

This is a first pass at implementing issue #403.  It compile in all builds, and works in my limited local tests.