recursive flag