add explicit dependency on middleware implementations