add Intercepting Filter Design Pattern