fix validity check edge cases