add recursive flag