Added 404 function and catch-all route