recursive hittest