basic search API, see #4