added 3d vis functions