perfect, completion, end