add getopt, ReadableSeconds