added LogicException