rework indexes to match how ComponentTypeFactory does