refactoring of DBFReader