Command Design Pattern for User Input
add Command Design Pattern for User Input