function claimTokenReserveEcon() onlyTokenReserveEcon locked public {

        address reserveWallet = msg.sender;

        
        require(block.timestamp > timeLocks[reserveWallet]);

        uint256 vestingStage = econVestingStage();

        
        uint256 totalUnlocked;

        
        if (vestingStage <= 72) {
          totalUnlocked = vestingStage.mul(1200000 * (10 ** 8));
        } else {        
          totalUnlocked = ((vestingStage.sub(72)).mul(200000 * (10 ** 8))).add(86400000 * (10 ** 8));
        }

        
        require(totalUnlocked <= allocations[econReserveWallet]);

        
        require(claimed[econReserveWallet] < totalUnlocked);

        
        uint256 payment = totalUnlocked.sub(claimed[econReserveWallet]);

        
        claimed[econReserveWallet] = totalUnlocked;

        
        require(token.transfer(reserveWallet, payment));

        Distributed(reserveWallet, payment);
    }