better display and error handling