push now returns a promise, handle that