adds chain of responsibility implementation