Needs `.promise()`