re-impl extraction so we can detect number and units, as previous method was causing overlaps with shorter versions of suffixes