add return None to mean 404 in convenience
factor out redirect