recursive search added