reimplemented the persistId variable