final couple of tweaks to correct problems with the first* caching ... back to original functionality but with many fewer round trips