contract MetropolMintableToken is StandardToken, MintableToken {

    event Mint(address indexed to, uint256 amount);

    function mint(address _to, uint256 _amount) public;//todo propose return value

    /**
     * Function to mint tokens
     * Internal for not forgetting to add access modifier
     *
     * @param _to The address that will receive the minted tokens.
     * @param _amount The amount of tokens to mint.
     *
     * @return A boolean that indicates if the operation was successful.
     */
    function mintInternal(address _to, uint256 _amount) internal returns (bool) {
        require(_amount>0);
        require(_to!=address(0));

        totalSupply = totalSupply.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        Mint(_to, _amount);
        Transfer(address(0), _to, _amount);

        return true;
    }

}
/**
 * MetropolMintableToken
 */
function mintInternal(address _to, uint256 _amount) internal returns (bool) {
    require(_amount>0);
    require(_to!=address(0));

    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    Mint(_to, _amount);
    Transfer(address(0), _to, _amount);

    return true;
}

/**
 * Function to mint tokens
 * Internal for not forgetting to add access modifier
 *
 * @param _to The address that will receive the minted tokens.
 * @param _amount The amount of tokens to mint.
 *
 * @return A boolean that indicates if the operation was successful.
 */