need to compile on old rhel4 machine, so can't use unordered_map