simplify so error msgs are readable without middleware