fix isValid function