need error handling in the UI