add quite full json persistence