anchor.diff:      match elementsList with
       | [x] -> Some(x)
       | [] -> None
  -    | _ -> failwith ("More than one element was selected when only one was expected for selector: " + cssSelector)
  +    | _ -> raise (CanopyMoreThanOneElementFoundException(sprintf "More than one element was selected when only one was expected for selector: %s" cssSelector))
       
   let element cssSelector = find cssSelector elementTimeout browser
   
  
positive.code:     let options = Seq.toList (elem.FindElements(By.TagName("option")))
      let option = options |> List.filter (fun e -> e.Text = text)
      if option = [] then
          failwith (String.Format("element {0} does not contain value {1}", cssSelector, text))        
      else
          option.Head.Click()
  
  
negative.code:     let elem = element cssSelector
      let readonly = elem.GetAttribute("readonly")
      if readonly = "true" then
          raise (CanopyReadOnlyException(sprintf "element %s is marked as read only, you can not clear read only elements" cssSelector))
      elem.Clear()
  
  //status
  let selected (cssSelector : string) = 
      let elem = element cssSelector
      if elem.Selected = false then
          raise (CanopySelectionFailedExeception(sprintf "element selected failed, %s not selected." cssSelector))    
      
  let deselected (cssSelector : string) =     
          let elem = element cssSelector
          if elem.Selected then
              raise (CanopyDeselectionFailedException(sprintf "element deselected failed, %s selected." cssSelector))
  
  //keyboard
  let tab = Keys.Tab
  