args is checked for more than none, but then we read 3 arguments for it, which won't be a good way to handle wrong input.  There are a variety of ways to parse input that will be more robust.