Add more commands and refactoring