add ChainOfResponsibility