ready for 2d and 3d ap