The main job of the core module is to control the reader and the writer module(s), manage file io, handle and maintain the internal data structures to hold the incoming data elements. It also passes the data do the writer module(s) which are responsable for writing the contents of the internal data structures to the desired output format.