added shadow proxy