make some maps unordered and use vector for some operations to improve performance
don't crash if there are interfaces with unsupported properties