I do think that the way you handle the commandline arguments is flawed in that they need to be in a specific order. There are ways to handle the commandline arguments without require such a strict order.
order with the current implementation? Could you give an example?
Hmm interesting I am not having problems with order now. It must have been introduced by me not supplying a value to -v. Hence if the error checking for the -v option is fixed then there won't be a problem.