use new fail method in core