removed interface and polyfill for JsonSerialize