improved params & caching