changed ordered bulk op to prototype based