Some work done on the file reader.

Will be re written soon to have more generics.