start of search framework (#9).