added: intercepting filter design pattern;