Added array subscripts using macros.  TODO fix neighbors