refine interface, test local cache
test timeout and fix timeout
add doc