lots and lots of fussing with the timeline impl - everything works, now it just needs the first-order optimization