triangle exceptions