keep import local so we don't depend on argparse unless really necessary