impl Chain of Responsibility pattern