add new command protocol design