Added interfaces and sample abstract filter