triangle update mixin