rewritten json interpreter