fleshing out the basic file-reading structure