able to restore without assertion failure. But still more need to be worked on