a bit refactoring, clone and list separate commands