kinda silly caching layer