contract QuipToken is MintableToken {

  string public constant name = "QuipToken";
  string public constant symbol = "QPT";
  uint8 public constant decimals = 18;
  uint256 public constant MAX_TOKEN = 8000000 * (10 ** uint256(decimals));
  bool singleDevMint = false;

  // 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);
  }

  function devTeamMint(address[3] _team, uint256 _amount) onlyOwner canMint public {
    require(singleDevMint == false);
    require(totalSupply.add(_amount * 3) <= MAX_TOKEN);
    super.mint(_team[0], _amount);
    super.mint(_team[1], _amount);
    super.mint(_team[2], _amount);
    singleDevMint = true;
  }

}
/**
 * @title QuipToken
 * @dev Very simple ERC20 Token example, where all tokens are pre-assigned to the creator.
 * Note they can later distribute these tokens as they wish using `transfer` and other
 * `StandardToken` functions.
 */
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