class finder recursive