added in caching, multiple decorators, refactored initial load