chained file reading