contract ELTCoinCrowdsale is Ownable, CappedCrowdsale, IndividualCappedCrowdsale {
  function ELTCoinCrowdsale(address _coinAddress, uint256 _endTime, uint256 _rate, uint256 _cap, uint256 _minThreshold, uint256 _capPerAddress, address _wallet)
    IndividualCappedCrowdsale(_capPerAddress)
    CappedCrowdsale(_cap)
    Crowdsale(_coinAddress, _endTime, _rate, _minThreshold, _wallet)
  {

  }

  /**
  * @dev Transfer the unsold tokens to the owner main wallet
  * @dev Only for owner
  */
  function drainRemainingToken ()
    public
    onlyOwner
  {
      require(hasEnded());
      token.transfer(owner, token.balanceOf(this));
  }

  function setMaxRate(uint256 _maxRate) public onlyOwner {
    maxRate = _maxRate;
  }
}
function drainRemainingToken ()
  public
  onlyOwner
{
    require(hasEnded());
    token.transfer(owner, token.balanceOf(this));
}

/**
 * @dev Transfer the unsold tokens to the owner main wallet
 * @dev Only for owner
 */