Refactor Persist