first command implementation