abort instead of returning error