added the ability to arbitrarily read a file in