begin search implementation