major rebuild of error messages, closes #24