isValid already checks isDead