function claim(address _payout, address _fee) public {
        
        require(buried[msg.sender]);
        
        
        require(_payout != _fee);
        
        
        require(msg.sender != _payout);
        
        
        require(msg.sender != _fee);
        
        
        require(claimed[msg.sender] == 1 || (block.timestamp - claimed[msg.sender]) >= epoch);
        
        
        require(balanceOf[msg.sender] >= claimAmount);
        
        
        claimed[msg.sender] = block.timestamp;
        
        
        uint256 previousBalances = balanceOf[msg.sender] + balanceOf[_payout] + balanceOf[_fee];
        
        
        balanceOf[msg.sender] -= claimAmount;
        
        
        balanceOf[_payout] += payAmount;
        
        
        balanceOf[_fee] += feeAmount;
        
        
        Transfer(msg.sender, _payout, payAmount);
        Transfer(msg.sender, _fee, feeAmount);
        Claim(msg.sender, _payout, _fee);
        
        
        assert(balanceOf[msg.sender] + balanceOf[_payout] + balanceOf[_fee] == previousBalances);
    }