added combine function and special reader to handle larger files