Add optional recursive flag