refactor and more commands