added some implementations of search