added non-zero exit code on failure