mantis: add function caching