Working #1 and #2…still working on #3 and 4
Now it works all the way through

Although the plot still isn't ideal
tidying up