I may need to make a huge change
the last version of array