Some refactoring has been done and two filters have been implemented