added front end caching with $angular-cache