CHANGED:applied the abstract functions for Array2