Refactor Persist again