add subarray function