back to simpler way to return promise