imimproved json codec