impliment mode command line argument