array type implemention v2.0