Search term highlighting courtesy of Alex