good error messages and fixed crap