UNTESTED: errrecover
Merge branch 'errrecover'
MISC: somewhat cleaner structure