fully implement isNode and isNodes