use only operator[] of std::map instead of at() method to maintain cross-platform compatibility