seperated functions into a data_reader module and a data_processor module