added google guava cache