the non bmesh first approach sort of sucks