Add Sub-Sub command support, lots of re-factoring and cleanup