Thank you for your feedback, again! I simply started with flattening out the elements into a one-dimensional array internally (which is quite obvious). I am not sure about its applications yet. Also, dc[3] does not make sense for this implementation, unless the DataCube itself is one-dimensional (in which case it just degenerates to normal array). So, if you have p dimensions, then the array has to be accessed (or indexed) using an index like: [x, y, z, ...] where the length of this array itself is p. That said, I haven't yet considering "expanding the array" dynamically. It's like, you fix the # and size of dimensions upfront and freeze them. I will address that officially, as you suggest. I will admit, I haven't checked the current literature of Data Cube when implementing it. Maybe I should do that. My modest expectation was that to address a point in multidimensional space A[d1,d2,d3 ... dn] was a more natural notation than A[d1][d2][d3]...[dn], because the former is how we would represent it on paper. And Ruby's flexibility allowed me to do just that! Regards, Kedar -- Posted via http://www.ruby-forum.com/.