the iterator returned by std::map::begin() is beeing incremented before the first use.
is this intentional or an error? i usually know those stl begin() functions to return the first element in the container so that the code as is would skip the first element.