Ok, figured out the indicator bug. Allocating as a matrix was messing up the alignment, so it's now allocated per column as an array and held in the 'indicator' Any Array