updated with plot3