changed how commands are defined