all code paths must callback
7.6.4