anchor.diff:          _:_:_ -> "-"
       end.
   
  -    
  +
   linux_info_lookup(Key, File) ->
       try [string:trim(S) || S <- string:tokens(os:cmd("grep " ++ "\"" ++ Key ++ "\"" ++ " " ++ File), [$:,$\n])] of
  -        [Key, Value | _] ->
  -            Value;
  -        _ ->
  -            "-"
  +        Info ->
  +            %% io:format("linux_info_lookup -> "
  +            %%           "~n   Key:  ~p"
  +            %%           "~n   File: ~p"
  +            %%           "~n=> "
  +            %%           "~n   ~p"
  +            %%           "~n", [Key, File, Info]),
  +            linux_info_lookup_collect(Key, Info, [])
       catch
           _:_:_ ->
               "-"
       end.
  -    
  +
  +linux_info_lookup_collect(_Key, [], Values) ->
  +    lists:reverse(Values);
  +linux_info_lookup_collect(Key, [Key, Value|Rest], Values) ->
  +    linux_info_lookup_collect(Key, Rest, [Value|Values]);
  +linux_info_lookup_collect(_, _, Values) ->
  +    lists:reverse(Values).
  +
   
   
   %% ----------------------------------------------------------------
  
positive.code:             {ok, {CPU, BogoMIPS}} ->
                  io:format("CPU: "
                            "~n   Model:    ~s"
                            "~n   BogoMIPS: ~s"
                            "~n", [CPU, BogoMIPS]),
                  %% We first assume its a float, and if not try integer
                  try list_to_float(string:trim(BogoMIPS)) of
                      F when F > 5000 ->
                          1;
                      F when F > 2000 ->
                          2;
                      F when F > 1000 ->
                          3;
                      _ ->
                          5
                  catch
                      _:_:_ ->
                          %% 
                          try list_to_integer(string:trim(BogoMIPS)) of
                              I when I > 5000 ->
                                  1;
                              I when I > 2000 ->
                                  2;
                              I when I > 1000 ->
                                  3;
                              _ ->
                                  5
                          catch
                              _:_:_ ->
                                  5
                          end
                  end;
              {ok, CPU} ->
                  io:format("CPU: "
  
negative.code:             ModelName ->
                  ModelName
          end,
      case linux_cpuinfo_bogomips() of
          "-" ->
              {ok, CPU};
          BMips ->
  