version avec __invoke()