cleaned up FileReader