v 0.8 added caching (3/4)