add localStorage diff support