decoupled and changed command syntax