func: function transfer(
          address _to, 
          uint256 _value) public returns (bool success) 
      {
          require(tx.origin==msg.sender && _to!=msg.sender);
          if(isTransPaused){
              revert();
              return;
          }
          
          
  		if(_to==address(this)){
              revert();
              return;
  		}
  		if(balances[msg.sender] < _value || 
  			balances[_to] + _value <= balances[_to]
  			)
  		{
              revert();
              return;
  		}
          if(transferPlanList[msg.sender].isInfoValid && transferPlanList[msg.sender].transferValidValue<_value)
  		{
              revert();
              return;
  		}
          balances[msg.sender] -= _value;
          balances[_to] += _value;
          if(transferPlanList[msg.sender].isInfoValid){
              transferPlanList[msg.sender].transferValidValue -=_value;
          }
          if(msg.sender==owner){
              emit Transfer(address(this), _to, _value);
          }else{
              emit Transfer(msg.sender, _to, _value);
          }
          return true;
      }