added returns with non-success on error