get rid of all caching logic
make the context explicit