Improved error handling & preferences