anchor.diff:                    
   
     let createPluginSteps (log:ConsoleLogger.ConsoleLogger) (solution:Entity) 
  -    m tc entitySet plugins (pluginType: Entity) = 
  +    client entitySet plugins (pluginType: Entity) = 
         entitySet |> Set.toArray
         |> Array.Parallel.map(fun (_,y) ->
   
  -        use p = ServiceProxy.getOrganizationServiceProxy m tc
  -
  -        //let (type',stage,action,entity),(deploy,mode,_,order,fAttributes),_ = 
  +        use p = ServiceProxy.getOrganizationServiceProxy client.IServiceM client.authCred
  +
           let step = 
             plugins
             |> Seq.filter(fun pl -> y = messageName pl.step)
  
positive.code: 
        let obsoleteImage = targetImage - sourceImage
  
        deleteImages log m tc (obsoleteImage,images))
  
      asm, asmId, dllName, dllPath, hash, solution, m, tc, log, sourcePlugins, steps
  
    let deletePluginSteps (asm, (asmId:Guid), (dllName:string), (dllPath:string),
                            (hash:string), (solution:Entity), m, tc, 
                              (log:ConsoleLogger.ConsoleLogger), sourcePlugins, steps) = 
  
      //Delete Steps
      let targetSteps =
        steps
  
negative.code:               log.WriteLine(LogLevel.Verbose,
                    sprintf "%s: %s was updated" x.LogicalName (getName x)))
  
    let updatePluginImages (log:ConsoleLogger.ConsoleLogger) client entitySet plugins =
        entitySet ||> subset
        |> Seq.toArray
        |> Array.Parallel.map(fun y ->
  
          use p = ServiceProxy.getOrganizationServiceProxy client.IServiceM client.authCred
  
          let compareImage =
            let name = getName y
  