half implemented opt_parser