JSON support and better docs