refactoring & add SerchCriteria	& add Repository