add Mediator pattern but not implemented