use the OptionsParser as a getopt to support #28
Merge remote-tracking branch 'origin/master'