first cut at generic item search