updated is_triangle()