Smoother user error reporting added (so there's now no ugly GET links, and works without JS just fine)