rework weakjson_decode (hopefuly)