contract CityToken is MintableToken {

  string public constant name = "CityToken";
  string public constant symbol = "CTT";
  uint8 public constant decimals = 10;
  uint256 public constant MAX_TOKEN = 5000000 * (10 ** uint256(decimals));

  // cap minting so that totalSupply <= MAX_TOKEN

  function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    require(totalSupply.add(_amount) <= MAX_TOKEN);
    return super.mint(_to, _amount);
  }

}
/**
 * @title CityToken main function
 */
function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {
    require(totalSupply.add(_amount) <= MAX_TOKEN);
    return super.mint(_to, _amount);
  }
// cap minting so that totalSupply <= MAX_TOKEN