Better errors.
Refactoring.