basic implementation of mediator
add mediator