anchor.diff:  		]).
   
   -export([add_attribute/2
  -		, build_table/2
  -        , build_table/3
  -		, delete_table/1
  +		, create_table/2
  +        , create_table/3
  +        , create_cluster_table/3
  +		, drop_table/1
           , update_opts/2
  -        , read_all_rows/1
  -        , select_rows/2
  +        , read_all/1
  +        , select/2
           , read/2                 
  -        , insert_into_table/2    
  +        , insert/2    
           , write/2
           , delete/2
   		]).
  
positive.code:         Result -> Result
  	end.
  
  delete_table(Table) when is_atom(Table) ->
      mnesia:delete_table(Table).
  
  insert_into_table(TableName, Row) when is_atom(TableName), is_tuple(Row) ->
      Row1 = case element(1, Row) of
          TableName ->
              [_|R] = tuple_to_list(Row),
              R;
          _ -> tuple_to_list(Row)
      end,
      insert_into_table(TableName, Row1);
  insert_into_table(TableName, Row) when is_atom(TableName), is_list(Row) ->
      RowLen = length(Row),
      TableRowLen = length(mnesia:table_info(TableName, attributes)),
      if TableRowLen =:= RowLen ->
  
negative.code: process_cmd({write, TableName, Row},                    Sock) -> send_resp(write(TableName, Row), Sock);
  process_cmd({delete, TableName, Key},                   Sock) -> send_resp(delete(TableName, Key), Sock);
  process_cmd({add_attribute, A, Opts},                   Sock) -> send_resp(add_attribute(A, Opts), Sock);
  process_cmd({delete_table, TableName},                  Sock) -> send_resp(drop_table(TableName), Sock);
  process_cmd({update_opts, Tuple, Opts},                 Sock) -> send_resp(update_opts(Tuple, Opts), Sock);
  process_cmd({read_all_rows, TableName},                 Sock) -> send_resp(read_all(TableName), Sock);
  process_cmd({create_table, TableName, Columns},         Sock) -> send_resp(create_table(TableName, Columns), Sock);
  process_cmd({create_table, TableName, Columns, Opts},   Sock) -> send_resp(create_table(TableName, Columns, Opts), Sock);
  process_cmd({create_cluster_table, TableName, Columns, Opts},   Sock) -> send_resp(create_cluster_table(TableName, Columns, Opts), Sock);
  process_cmd({select, TableName, MatchSpec},             Sock) -> send_resp(select(TableName, MatchSpec), Sock);
  process_cmd({insert, TableName, Row},                   Sock) -> send_resp(insert(TableName, Row), Sock).
  
  send_resp(Resp, Sock) ->
      RespBin = term_to_binary(Resp),
  