command patterns adopted