Refactored data declaration to use less lookahead for better errors and
some performance improvement