I did the data conversion utility generically, so you could specify the column names, sizes, etc. and generate a binary file. What I'm struggling with now is how best to inject some specifics into the database after the binary file is read. For example, if you wanted to reserve some seats on a flight, you would need to know which column contained the seat information. Likewise, to search for flights originating from a particular airport, you would need the originating airport column name (or you could derive it from the column number I suppose) for criteriaFind(). This also brings up the question of data validation: I would think that if the user generated a binary file without available seat information, you would want to error out when the binary file is read and not even display a way to try to reserve seats. I have thought about specifying a FBN required format that is used for validation and FBN specific database interaction (like in a Data subclass). How have other people handled putting specifics against the generically generated binary?