Added Triangle implementation