 
   checkEOF: -> @eof = true if @view.tell() is @length
 
-  # readBinTable: (header) ->
-  #   # Check for required keywords
-  #   for keyword in File.requiredBinTableKeywords
-  #     if keyword is "TFORM"
-  #       tfields = parseInt(header["TFIELDS"])
-  #       i = 1
-  #       while i <= tfields
-  #         throw "FITS binary table does not contain the required keyword TFORM#{i}" unless header.hasOwnProperty("TFORM#{i}")
-  #         i += 1
-  #     else
-  #       throw "FITS binary table does not contain the required keyword #{keyword}" unless header.hasOwnProperty(keyword)
-
-
 FITS = @FITS    = {}
 module?.exports = FITS
 
 FITS.version    = '0.0.1'
 FITS.File       = File
-FITS.Header     = Header+FITS.Header     = Header
+FITS.DataUnit   = DataUnit

  isPrimary: -> return @primary
  isExtension: -> return @extension

class File
  @LINEWIDTH   = 80
  @BLOCKLENGTH = 2880

    # Determine if a data unit follows
    @headerNext = not header.hasDataUnit()

    @headers.push(header)

    # Seek to the next relavant character in file
    excess = File.excessChars(linesRead)
    @view.seek(File.LINEWIDTH * linesRead + excess)
    @checkEOF()

  readDataUnit: ->
    

  # # Read a data unit
  # readData: ->
