no idea if client errors are good here, 500 is too general for sure