pulling in recursive-ralph branch