added more data
added caching