* refactor: snapshot store to diff * change initial state position * fix old snapshot format * encapsulate json diff