changed behavior to open files for each read, updated methods accordingly