changed to tr1/unordered_map instead of new c++ standard