function release() public {
        uint256 nowTime = block.timestamp;
        uint256 passTime = nowTime - openingTime;
        uint256 weeksnow = passTime/2419200;
        require(unfreezed[weeksnow] != 1, "This week we have unfreeze part of the token");
        uint256 amount = getPartReleaseAmount();
        require(amount > 0, "the token has finished released");
        unfreezed[weeksnow] = 1;
        token.transfer(beneficiary, amount);
    }