changed structure of __call method