generalise 404 handler