triangles and exceptions done