finished preliminary exception interface