updated routes + 404 handling