library errors should descend from StandardError