function _getTokenAmount(uint256 weiAmount)
    internal
    view
    returns (uint256)
  {
    uint256 baseTokenAmount = weiAmount.mul(rate());
    uint256 bonusAmount = _isBonusAvailable() ?
      baseTokenAmount.div(5) : 
      0;

    return baseTokenAmount + bonusAmount;
  }