fail a bit more gracefully
client side too