implement isDefined; builder