update data3d.lua, still incomplete