add smasher with rewriter supprot