fix bugs, improve performance
client caching