now takes sys.args