persistence generator