Finished ish
- There is a timing bug
- Need to see why is does not always plot
- Needs testing