implemented basic caching (heroku says it works...)