(modiffied CommandINterface & Shell)