started work on bmesh version.

finally getting this done.