An annotation based command line parser