a couple of helpers, and push proof forward