the command definition and command process functions