Modified searchByPart to be more abstract, also now case-insensitive