closes #360 BREAKING CHANGE: verify() has a new function signature so it can know the current completion progress