completed JSON support