add edit functions, generic 404 handler