     selectors = get_selectors(selector_as_string)
 
     html_tree
-    |> transverse([], selectors, [])
+    |> traverse([], selectors, [])
     |> Enum.reverse
   end
 

          _ ->
            case combinator.match_type do
              :descendant ->
                transverse(children_nodes, sibling_nodes, combinator.selector, acc)
              :child ->
                transverse_child(children_nodes, sibling_nodes, combinator.selector, acc)
              :sibling ->
                transverse_sibling(children_nodes, sibling_nodes, combinator.selector, acc)
              :general_sibling ->
                transverse_general_sibling(children_nodes, sibling_nodes, combinator.selector, acc)
              other ->
                raise "Combinator of type \"#{other}\" not implemented"
            end

        nil -> [sibling_node|acc]
        _ ->
          {_, _, children_nodes} = sibling_node
          traverse(children_nodes, sibling_nodes, selector.combinator.selector, acc)
      end
    else
      acc
    end
  end

  defp traverse_general_sibling(_nodes, sibling_nodes, selector, acc) do
    sibling_nodes = Enum.drop_while(sibling_nodes, &ignore_node?/1)

    Enum.reduce(sibling_nodes, acc, fn(sibling_node, res_acc) ->
