documentation
error checking if unable to get file pointer
touched