function RedeemMTU(bool redeem) paused public {
        uint256 AppliedUnits = Redeemer[msg.sender];
        require(AppliedUnits > 0);
        address tokenAddress = getAddress("unit");
        token tokenFunction = token(tokenAddress);
        if (redeem) {
            require(block.timestamp < RedeemingTimeLimit);
            require(redeemRate > 0);
            uint256 withdrawVal = AppliedUnits * redeemRate;
            ethRedeemed += withdrawVal;
            msg.sender.transfer(withdrawVal);
            emit eRedeem(msg.sender, AppliedUnits, withdrawVal);
        } else {
            tokenFunction.transfer(msg.sender, AppliedUnits);
        }
        Redeemer[msg.sender] = 0;
        unRedeemedMTU -= AppliedUnits;
    }