add array generation