correct MiddleLayerAbstract constructor