added silent option to not print to stdout