The major goal of our project is come up with new architecture of existing plugin. Our ultimate goal is to reduce the coupling and make it cohesive to provide the possibility of including new filters, new learning algorithms, as well as modify, adapt or extend the framework according to the developer's needs.In this document, I describe the problem domain of the project. I start with an description of the problem domain: Filters, learning and evaluation. Then I give a high level overview of the proposed architecture, detailed design of "Filter Framework" of the system and additional constraints. Finally, I also share a small project based on discussed architecture.