final draft, just needs polishing and timings