commands and arguments handling