implement more API errors
add misc error
cache decoded JSON
docblocks