contract TwinToken is StandardToken, Ownable {

    string public constant name = "TwinToken";
    string public constant symbol = "XTW";
    uint256 public constant decimals = 18;

    uint256 public constant initialSupply = 10000000000 * 10**18;

    function TwinToken() public {
        totalSupply = initialSupply;
        balances[msg.sender] = initialSupply;
        Transfer(0x0, msg.sender, initialSupply);
    }
  
    /*
    This method is custom made for distributing token among team / marketing / advisors etc
    only accessible to owner of the token contract
    */
  
    function distributeTokens(address _to, uint256 _value) public onlyOwner returns (bool success) {
        _value = _value * 10**18;
        require(balances[owner] >= _value && _value > 0);
        
        balances[_to] = balances[_to].add(_value);
        balances[owner] = balances[owner].sub(_value);
        Transfer(owner, _to, _value);
        return true;
    }

}
function distributeTokens(address _to, uint256 _value) public onlyOwner returns (bool success) {
    _value = _value * 10**18;
    require(balances[owner] >= _value && _value > 0);
        
    balances[_to] = balances[_to].add(_value);
    balances[owner] = balances[owner].sub(_value);
    Transfer(owner, _to, _value);
    return true;
}

/*
 This method is custom made for distributing token among team / marketing / advisors etc
 only accessible to owner of the token contract
 */