add rule self-define to speech argument