function transfer(address to, uint potatoes) public returns (bool success) {
        
        harvest(msg.sender);
        if (cellars[msg.sender] < potatoes) {
            return false;
        }
        
        recycle(to);
        cellars[msg.sender] -= potatoes;
        cellars[to]         += potatoes;

        Transfer(msg.sender, to, potatoes);
        return true;
    }