reorganize 2d/3d