Initial implemented for Array<T>