use http client for json
keep an offline record