This doesn't actually return a boolean but a promise