Yep - but I think we can do that in a different commit.  This commit is mainly to ensure correctness, rather than improve performance.