function unsowed(address farmer) constant public returns (uint256 balance) {
        
        var elapsed = block.timestamp - recycled[farmer];
        if (elapsed < decay) {
            balance = (cellars[farmer] * (decay - elapsed) + decay-1) / decay;
        }
        
        var list = fields[farmer];
        for (uint i = empties[farmer]; i < list.length; i++) {
            elapsed = block.timestamp - list[i].sowed;
            if (elapsed >= growth && elapsed - growth < decay) {
                balance += (2 * list[i].potatoes * (decay-elapsed+growth) + decay-1) / decay;
            }
        }
        return balance;
    }