moved __invoke method to parent class