optional data direction in array