throw Exception to give control