add type checking expire argument