add infrastructure code, expand DirectoryConnection