change getUserSettings to manage a promise