docs: function(x, y, dir) {
              if(!this.isCell(x, y)) { return null; }
              // dir must be string and in dirmap
              if(!this.isDir(dir)) { return null; }
              let _DX = { "E": 1, "W": -1, "N": 0, "S": 0 };
              let _DY = { "E": 0, "W": 0, "N": -1, "S": 1 };
              var nx = x + _DX[dir];
              var ny = y + _DY[dir];
              if(!this.isCell(nx, ny)) { 
                  return null; 
              }
              return { x: nx, y: ny };
          }