separate ImplementsException out from Error