sigs now works with bmesh. refactored bmesh_read, bmesh_write