re-added hasExited, as it is useful