mod encoding, add getopt_long template.