throw Exception instead of just creating it