function based wrapper type building almost complete. edge_length_op is
workinh but cell ordering is not.