better error handling and page ui improvements