added fragment-based persistence