path comparison is expensive, switched map table to use pointer comparison