added
added caching stuff