with triangle stuff