project disposed check
nonempty check