Command & some restructuring