use snapshot MTJ, some improvement but still badness