anchor.diff:  			  buffer = [ C | Buffer ],
   			  escaped = false
   			 } ).
  +    
  +extract_json(Buf, PST, Acc) ->
  +    case count_brackets(Buf, PST) of
  +	{ complete, Processed, NPST} ->
  +	    io:format("Trying again~n"),
  +	    extract_json([], NPST, [ Processed | Acc]);
  +
  +
  +	{ incomplete, NPST} ->
  +	    io:format("Incomplete~n"),
  +	    { Acc, NPST }
  +    end.
  +
  +extract_json(Buf, PST) ->
  +    extract_json(Buf, PST,[]).
  
positive.code: 
      { complete, lists:reverse(Buffer), 
        PSt#pst {
  	buffer = lists:reverse(Rem),
  	balance = start
         } 
      };
  
negative.code: %%%===================================================================
  
  
  count_brackets([], 
  	       #pst { 
  		  buffer = [], 
  		  balance = start } = PSt)  ->
      { incomplete, PSt#pst {}};
  
  count_brackets([], 
  	       #pst { 
  		  buffer = Buffer, 
  		  balance = start } = PSt)  ->
      count_brackets(Buffer, 
  		   PSt#pst { 
  		     buffer = [], 
  		     balance = start } );
  count_brackets([${ | Rem], 
  	       #pst { 
  		  buffer = Buffer, 
  