add Javadoc to classes
refactor: extract table meta data to its own class
refactor: extract table data into its own class
refactor: extract column data into its own class
refactor: extract row data into its own class