add Chain of Responsibility Design Pattern