add sharedConnection, optimize DualRelay, add SpecialMock for Testing