moved IndexedData to pattern.h