add some support for expire