Final version of plot()