anchor.diff:                                              else
                                                   readvalue = value))
           with
  -            | :? TimeoutException -> failwith (String.Format("equality check failed.  expected: {0}, got: {1}", value, !bestvalue));
  -            | ex -> System.Console.WriteLine(ex.GetType());
  -                    failwith ex.Message
  +            | :? WebDriverTimeoutException -> failwith (String.Format("equality check failed.  expected: {0}, got: {1}", value, !bestvalue));
  +
       | _ -> failwith (String.Format("Can't check equality on {0} because it is not a string or alert", item.ToString()))
   
   let ( != ) cssSelector value =
       try
           wait compareTimeout (fun _ -> (read cssSelector) <> value)
       with
  -        | :? TimeoutException -> failwith (String.Format("not equals check failed.  expected NOT: {0}, got: {1}", value, (read cssSelector)));
  -        | ex -> failwith ex.Message
  +        | :? WebDriverTimeoutException -> failwith (String.Format("not equals check failed.  expected NOT: {0}, got: {1}", value, (read cssSelector)));
           
   let ( *= ) (cssSelector : string) value =
       try        
           wait compareTimeout (fun _ -> ( let elems = elements cssSelector
                                           elems |> Seq.exists(fun element -> (textOf element) = value)))
       with
  -        | :? TimeoutException -> let sb = new System.Text.StringBuilder()
  -                                 let elems = elements cssSelector
  -                                 elems |> List.map (fun e -> sb.Append(String.Format("{0}\r\n", (textOf e)))) |> ignore
  -                                 failwith (String.Format("cant find {0} in list {1}\r\ngot: {2}", value, cssSelector, sb.ToString()));
  -        | ex -> failwith ex.Message
  +        | :? WebDriverTimeoutException -> 
  +                let sb = new System.Text.StringBuilder()
  +                let elems = elements cssSelector
  +                elems |> List.map (fun e -> sb.Append(String.Format("{0}\r\n", (textOf e)))) |> ignore
  +                failwith (String.Format("cant find {0} in list {1}\r\ngot: {2}", value, cssSelector, sb.ToString()));
   
   let ( *!= ) (cssSelector : string) value =
       try
           wait compareTimeout (fun _ -> ( let elems = elements cssSelector
                                           elems |> Seq.exists(fun element -> (textOf element) = value) = false))
       with
  -        | :? TimeoutException -> failwith (String.Format("found {0} in list {1}, expected not to", value, cssSelector));
  -        | ex -> failwith ex.Message
  +        | :? WebDriverTimeoutException -> failwith (String.Format("found {0} in list {1}, expected not to", value, cssSelector));
       
   let contains (value1 : string) (value2 : string) =
       if (value2.Contains(value1) <> true) then
  
positive.code:         element.Text    
  
  let read (cssSelector : string) =    
      try
          let elem = element cssSelector
          textOf elem
      with
          | ex -> failwith ex.Message
  
          
  let clear (cssSelector : string) = 
      let elem = element cssSelector
  
negative.code:     try        
          wait compareTimeout (fun _ -> (f ()))
      with
          | :? WebDriverTimeoutException -> 
                  puts "Condition not met in given amount of time. If you want to increase the time, put compareTimeout <- 10.0 anywhere before a test to increase the timeout"
                  failwith (String.Format("waitFor condition failed to become true in {0} seconds", compareTimeout))
  
  //find related
  let private findByCss cssSelector f =
  