each file reader moved to its own file.