Improved settings flow