this ought to be continue-safe