Refactor search filter (Fix #30)