anchor.diff:          }
   
       member this.Start() =
  +        Logger.LogF(LogLevel.Info, fun _ -> sprintf "Starting request handler")
  +        processRequests() |> Async.Start
  +
  +type ServerNode() =
  +
  +    let network = new ConcreteNetwork()
  +    let objects = new List<obj>()
  +    
  +    let onConnect readQueue writeQueue =
  +        let handler = ServerRequestHandler(readQueue, writeQueue, objects)
  +        handler.Start()
  +
  +    member this.Start() =
           Logger.LogF(LogLevel.Info, fun _ -> sprintf "Starting server node")
  -        network.Listen<BufferStreamConnection>(1500, (readQueue, writeQueue))
  -        processRequests() |> Async.Start
  +        network.Listen<BufferStreamConnection>(1500, onConnect)
   
   
   type ClientNode(addr: string, port: int) =
   
  -    let readQueue = new BlockingCollection<byte[]>(50)
  -    let writeQueue = new BlockingCollection<byte[]>(50)
  +    let mutable readQueue : BufferQueue = null
  +    let mutable writeQueue : BufferQueue = null
       let network = new ConcreteNetwork()
   
       let serializer = 
           let memStreamBConstructors = (fun () -> new MemoryStreamB() :> MemoryStream), (fun (a,b,c,d,e) -> new MemoryStreamB(a,b,c,d,e) :> MemoryStream)
           GenericSerialization.GetDefaultFormatter(CustomizedSerializationSurrogateSelector(memStreamBConstructors))
   
  +    let onConnect rq wq =
  +        readQueue <- rq
  +        writeQueue <- wq
  +
       member this.Start() =
  -        async {
  -            Logger.LogF(LogLevel.Info, fun _ -> sprintf "Starting client node")
  -            network.Connect<BufferStreamConnection>(addr, port, (readQueue, writeQueue)) |> ignore
  -        }
  -        |> Async.Start
  +        Logger.LogF(LogLevel.Info, fun _ -> sprintf "Starting client node")
  +        network.Connect<BufferStreamConnection>(addr, port, onConnect) |> ignore
   
       member internal this.Run(request: Request) : Response =
           let memStream = new MemoryStream()
  
positive.code:     | RunDelegateResponse of int
      | GetValueResponse of obj
  
  type ServerNode() =
      
      let readQueue = new BlockingCollection<byte[]>(50)
      let writeQueue = new BlockingCollection<byte[]>(50)
      let network = new ConcreteNetwork()
  
      let serializer = 
          let memStreamBConstructors = (fun () -> new MemoryStreamB() :> MemoryStream), (fun (a,b,c,d,e) -> new MemoryStreamB(a,b,c,d,e) :> MemoryStream)
          GenericSerialization.GetDefaultFormatter(CustomizedSerializationSurrogateSelector(memStreamBConstructors))
  
      let objects = new List<obj>()
  
      let handleRequest(request: Request) : Response =
          match request with
  
negative.code: ﻿#I __SOURCE_DIRECTORY__
  #r @"..\tools\tools\bin\Debugx64\Prajna.Tools.dll"
  
  open System
  open System.Collections.Generic
  