supprot for SMIC and rewrite