better smarter errors