adding 3D support