atg. refactor. handles int64, float64, string uniformly