configurable middle ware