tclap for flag parsing