update error handling
add 404 handling