move .cpp to .tpl
add template constuctor to Filter