anchor.diff:      printfn "1 -> Teacher"
       printfn "2 -> Student"
       printf "-> "
  -    ignore <| match(Console.ReadLine()) with
  -              | "1" -> role = "Teacher"
  -              | "2" -> role = "Student"
  -              | _ ->   printfn "Role doesn't exist!"
  -                       selectRole n
  -    true
  +    match(Console.ReadLine()) with
  +        | "1" -> "Teacher"
  +        | "2" -> "Student"
  +        | _ ->   printfn "Role doesn't exist!"
  +                 selectRole n
  +
  +//Prompts the user to enter the BaseURL
  +let selectBaseUrl n = 
  +    printfn "Please provide BaseURL and press enter:"
  +    Console.ReadLine()
   
   //Mainloop, covers event selection and exchanging information with the events.    
  -let rec mainLoop baseUrl (events : eventStatus list) =
  +let rec mainLoop (events : eventStatus list) =
       printfn "Actions:"
       printfn "1 -> Get all events"
       printfn "2 -> Execute an event"
  
positive.code:                         if (response.IsSome) then 
                              response.Value |> printfn "Success! Response: %s" 
                      printfn "action completed"
                      mainLoop baseUrl events
      | "3" -> Some(true) //Change BaseURL
      | "4" -> selectRole 0 |> ignore
               mainLoop baseUrl events
      | "5" -> //View Status
               printfn "Task:"
               mainLoop baseUrl (getStatusAndRemovefaulty events baseUrl)
      | "6" -> None //Exit program
      | _   -> None
  
  //Prompts the user to enter the BaseURL
  let selectBaseUrl n = 
      printfn "Please provide BaseURL and press enter:"
      Console.ReadLine()
   
  
  //Provides the loop that allows the mainLoop to exit and rerequest the BaseURL.
  let rec outerLoop m = 
      let baseUrl = selectBaseUrl 0
      ignore <| selectRole 0
      let m = mainLoop baseUrl []
      if (m.IsSome) then
          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
      0
  
negative.code: let split (s : string) (delimiter : char) = List.ofArray (s.Split(delimiter))
  
  //Role
  let mutable role = "Student"
  
  //BaseUrl
  let mutable baseUrl = "http://localhost:8080/Test"
  
  // HTTPREQUEST with a given httpverb that returns an option of None on error and a response string on success
  let HTTPRequestUpload (url : string) verb = 
      try
          use w = new System.Net.WebClient () 
          Some(w.UploadString(url,verb, role))
      with
          | ex -> None
  
  // HTTPREQUEST GET returns an option of None on error and a response string on success
  let HTTPRequestDownload (url : string) = 
      try
          use w = new System.Net.WebClient () 
          Some(w.DownloadString(url+"?role=" + role))
      with
          | ex -> None
            
  //Converts a list of eventnames to a list of the EventStatus type
  let rec stringListToEventStatus eventsList =
  