Proper error messages
Fixed a little snag
Avoid exponential explosion