initial working draft for searching to any depth