more accurate return status