Well it would be more adaptable to be able to pass in arbitrary filenames in case we add more tests. I would revert to the if(argc < 2 || > 5) and reinstate filename = argv[1];