refactor mediator for double play