Proper command line parsing
Each parameter now has its own command line option, all of which are
optional, as default values are used when they are not specified.