command and macro