More stronger failure semantics. Fixed a bug.