add supports for re-encoding