adding json snapshot for offline work + improvements