refactor to use different modules for class/instance extensions