Refactor: method names improved
Modified for testing purposes
Change: Preparation for type-based features
Bug: context reference for functions
Change: Preparation for type-based features
use newest version