added shell class, create an interactive and command-line program