add part of array upgrade logic!