.call() now returns a promise