update the way to deal with command line input