reading of input file is done outside of library