new 3d primitive classes