add: interactive mode and silent mode