let rec decoupe ?(e = [' ']) ma_string = 
        let n = (String.length ma_string);
        and result = ref [];
        and i = ref 0; in
        if (n > 0) then
        begin
        while ( (!i < (n - 1)) && not(in_list ma_string.[!i]  e)) do
                incr i;
        done;
        if (!i = (n - 1))  then result := [ma_string];
        if (!i <= (n - 2)) then result := [(monsub ma_string 0 !i)]@(decoupe ~e (monsub ma_string (!i + 1) (n - !i - 1) ));
        end;
        !result