Lots  of additions

I really can't be bothered with this any more.