Better argument parsing, add silent option.