Yeah, lots and lots of rewriting - but I think all the events get to the top now