implement serach with query + some bug fixes