updated duck engine
uses !bangs instead of keywords
custom bangs can be used as keywords