refactoring: persistence