case-insensitive search + fixed no-match