actually use new error classes!