more toJSONExt work