diff --git a/src/reader/common/text/data.ts b/src/reader/common/text/token-field.ts
similarity index 96%
rename from src/reader/common/text/data.ts
rename to src/reader/common/text/token-field.ts
index 595496de3da3bcb5fb318f4a2aa095d2c5413f94..849d7cb843651dd9065892a6c165983a5b0d9d05 100644
--- a/src/reader/common/text/data.ts
+++ b/src/reader/common/text/token-field.ts
@@ -9,14 +9,13 @@ import { parseInt as fastParseInt, parseFloat as fastParseFloat } from './number
 import { Tokens } from './tokenizer'
 import ShortStringPool from '../../../utils/short-string-pool'
 
-export function createCategory(data: string, fields: string[], tokens: Tokens, rowCount: number) {
+export function createTokenFields(data: string, fields: string[], tokens: Tokens): { [name: string]: Data.Field } {
     const fi: TokenFieldInfo = { data, fieldCount: fields.length, tokens: tokens.indices };
-
     const categoryFields = Object.create(null);
     for (let i = 0; i < fi.fieldCount; ++i) {
         categoryFields[fields[i]] = TokenField(fi, i);
     }
-    return Data.Category(rowCount, categoryFields);
+    return categoryFields;
 }
 
 export interface TokenFieldInfo {
diff --git a/src/reader/gro/index.ts b/src/reader/gro/format.ts
similarity index 100%
rename from src/reader/gro/index.ts
rename to src/reader/gro/format.ts
diff --git a/src/reader/gro/parser.ts b/src/reader/gro/parser.ts
index 1e56166e8658cfdbd86d07cfa3b70ea902f6f563..7c41e81bbb49d50ea5e5a2bc82bd94815eba9d9c 100644
--- a/src/reader/gro/parser.ts
+++ b/src/reader/gro/parser.ts
@@ -7,7 +7,7 @@
 
 import { State as TokenizerState, Tokens, eatLine, skipWhitespace, eatValue, trim } from '../common/text/tokenizer'
 import { parseInt } from '../common/text/number-parser'
-import { createCategory } from '../common/text/data'
+import { createTokenFields } from '../common/text/token-field'
 import * as Data from '../../data/data'
 import Result from '../result'
 
@@ -120,7 +120,7 @@ function handleAtoms(state: State) {
         eatLine(state)
     }
 
-    return createCategory(state.data, fields, tokens, state.info.numberOfAtoms);
+    return Data.Category(state.info.numberOfAtoms, createTokenFields(state.data, fields, tokens));
 }
 
 /**
@@ -151,7 +151,7 @@ function parseInternal(data: string): Result<Data.File> {
     handleBoxVectors(state, headerTokens);
 
     const block = Data.Block({
-        header: createCategory(data, headerFields, headerTokens, 1),
+        header: Data.Category(1, createTokenFields(data, headerFields, headerTokens)),
         atoms
     });
 
diff --git a/src/reader/spec/gro.spec.ts b/src/reader/spec/gro.spec.ts
index f140b1a4f9c78e208cdcd49cc84188d3c57367cf..dc2423731f95954408cc14b33f33f41fe2e01b0e 100644
--- a/src/reader/spec/gro.spec.ts
+++ b/src/reader/spec/gro.spec.ts
@@ -5,7 +5,7 @@
  * @author David Sehnal <david.sehnal@gmail.com>
  */
 
-import Gro from '../gro/index'
+import Gro from '../gro/format'
 
 const groString = `MD of 2 waters, t= 4.2
     6
diff --git a/src/script.ts b/src/script.ts
index d62c6f66f7758ddf08fb548833ee1069b1eab8a7..2febe153c9bc24ab424e5e8dd99aa0371b52febc 100644
--- a/src/script.ts
+++ b/src/script.ts
@@ -7,7 +7,7 @@
 // import * as util from 'util'
 import * as fs from 'fs'
 
-import Gro from './reader/gro/index'
+import Gro from './reader/gro/format'
 
 //const file = '1crn.gro'
 // const file = 'water.gro'