define our own error class