new implementation of array added