function sow(uint potatoes) public {
        
        harvest(msg.sender);

        
        if (potatoes == 0) {
            return;
        }
        
        if (cellars[msg.sender] > 0) {
            if (potatoes > cellars[msg.sender]) {
                potatoes = cellars[msg.sender];
            }
            fields[msg.sender].push(field(potatoes, block.timestamp));
            cellars[msg.sender] -= potatoes;

            Transfer(msg.sender, this, potatoes);
        }
    }