add ChainOfResponsibility
add Facade