func: function release() onlyManager onlyTokenInitialized public {
          require(releasedRoundCount <= 3);
          require(block.timestamp >= releaseTime);
  
          uint8 releasePercent;
          if (releasedRoundCount == 0) {
              releasePercent = firstRoundPercent;
          } else if (releasedRoundCount == 1) {
              releasePercent = secondRoundPercent;
          } else if (releasedRoundCount == 2) {
              releasePercent = thirdRoundPercent;
          } else {
              releasePercent = fourthRoundPercent;
          }
  
          for (uint8 i = 0; i < investors.length; i++) {
              address investor = investors[i];
              uint256 amount = investorAmount[investor];
              if (amount > 0) {
                  uint256 releaseAmount = amount.div(100).mul(releasePercent);
                  if (releasedAmount[investor].add(releaseAmount) > amount) {
                      releaseAmount = amount.sub(releasedAmount[investor]);
                  }
                  token.safeTransfer(investor, releaseAmount);
                  releasedAmount[investor] = releasedAmount[investor].add(releaseAmount);
                  emit Release(investor, releaseAmount);
              }
          }
          
          releaseTime = releaseTime.add(60 * 60 * 24 * 30);
          releasedRoundCount = releasedRoundCount + 1;
          stopInvest = true;
      }