I agree. Should we merge this PR first and then rewrite for speed, or roll the fast version into this PR?