actually, it shouldn' always throw