adding recursive search