initial implementation of array follow forwarding branch. works on simple tests. still some bugs to smooth out