use function __get__ method to create bound methods