1. add multi-dimension array
2. seperate implementation of array and arrayNd into -inl.h files