use toPromise instead of ~writing it again