anchor.diff:          | x when x.Segments.Length > 1 -> Some("http://"+ x.Host + "/" + (string (x.Segments.GetValue(1))))
           | _ -> None
   
  +//Prompts the user to enter the BaseURL
   let rec SelectBaseUrl n = 
  -    printfn "Please provide by url and press enter:"
  +    printfn "Please provide BaseURL and press enter:"
       let baseUrl = GetWorkFlowUrl (Console.ReadLine())
       if (baseUrl.IsSome) then
           baseUrl.Value
       else
           printfn "Entered url was invalid, please try again."
           SelectBaseUrl n
  -let rec outerLoop m = 
  +
  +//Provides the loop that allows the mainLoop to exit and rerequest the BaseURL.
  +let rec OuterLoop m = 
       let baseUrl = SelectBaseUrl 0
       let m = mainLoop baseUrl
       if (m.IsSome) then
  -        outerLoop m
  +        OuterLoop m
   
  +//Entry point
   [<EntryPoint>]
   let rec main argv = 
       printfn "Welcome to the testclient of the workflow client"
       Console.Title <- "Workflow test client"
       //http://localhost:8080/<process>/<session_id>/<event>/<attribute>
  -    outerLoop None
  +    OuterLoop None
       0
   
           
  
positive.code:     with
          | _ -> None
          
      
  let rec mainLoop baseUrl =
      printfn "Actions:"
      printfn "1 -> Connect an event"
  
negative.code:                     response.Value |> printfn "Success! Response: %s" 
                  printfn "action completed"
                  mainLoop baseUrl 
  //Returns an url with 2 segments only if possible.
  let GetWorkFlowUrl url = 
      if (not (Uri.IsWellFormedUriString(url, UriKind.Absolute))) then
          None
  