refactoring control commands