Support re-entrancy
Added support for returning error blocks