basic 3D functionality working