complete implementation of the command line