add `expire_at` constructor option