triangle (not finished yet)