refactored SingleGraphPersistence