triangle reimpl