use typedef for std::map