add isRoot and isSourceHost funcs