anchor.diff:  		{error, _Reason} ->
   			{error, 404}
   	end.
  +%% @hidden
  +perfrom_patch1(Id, DiscPort, Protocol, NewPassword) ->
  +	ok = ocs:update_client_password(Id, NewPassword),
  +	RespObj =[{id, Id}, {href, "/ocs/v1/client/" ++ Id},
  +			{"disconnectPort", DiscPort}, {protocol, Protocol}, {password, NewPassword}],
  +	JsonObj  = {struct, RespObj},
  +	RespBody = mochijson:encode(JsonObj),
  +	{body, RespBody}.
  +
  +%% @hidden
  +perform_patch2(Id, DiscPort, Protocol, Secret) ->
  +	ok = ocs:update_client_attributes(Id, DiscPort, Protocol),
  +	RespObj =[{id, Id}, {href, "/ocs/v1/client/" ++ Id},
  +			{"disconnectPort", DiscPort}, {protocol, Protocol}, {password, Secret}],
  +	JsonObj  = {struct, RespObj},
  +	RespBody = mochijson:encode(JsonObj),
  +	{body, RespBody}.
   
   -spec perform_delete(Ip :: list()) ->
   	ok .
  
positive.code: perform_patch(Id, ReqBody) ->
  	{ok, Address} = inet:parse_address(Id),
  	case ocs:find_client(Address) of
  		{ok, _SecretBin} ->
  			try
  				{struct, Object} = mochijson:decode(ReqBody),
  				{_, NewPassword} = lists:keyfind("password", 1, Object),
  				ok = ocs:update_client(Address, NewPassword),
  				RespObj =[{id, Id}, {href, "/ocs/v1/client/" ++ Id},
  					{password, NewPassword}],
  				JsonObj  = {struct, RespObj},
  				RespBody = mochijson:encode(JsonObj),
  				{body, RespBody}
  			catch
  				throw : _ ->
  					{error, 400}
  
negative.code: 	try 
  		{struct, Object} = mochijson:decode(RequestBody),
  		{_, Id} = lists:keyfind("id", 1, Object),
  		{_, DiscPort} = lists:keyfind("disconnectPort", 1, Object),
  		{_, Protocol} = lists:keyfind("protocol", 1, Object),
  		{_, Secret} = lists:keyfind("secret", 1, Object),
  		Protocol_Atom = list_to_atom(string:to_lower(Protocol)),
  		perform_post1(Id, DiscPort, Protocol_Atom, Secret)
  	catch
  		_Error ->
  			{error, 400}
  	end.
  %% @hidden
  perform_post1(Id, DiscPort, Protocol, Secret) ->
  	try
  	case catch ocs:add_client(Id, DiscPort, Protocol, Secret) of
  		ok ->
  			Location = "/ocs/v1/client/" ++ Id,
  			RespObj = [{id, Id}, {href, Location}, {"disconnectPort", DiscPort},
  					{protocol, Protocol}, {secret, Secret}],
  			JsonObj  = {struct, RespObj},
  			Body = mochijson:encode(JsonObj),
  			{Location, Body};
  