bug fix: filter by keyword