added include for std::map