Refactor __call() method