Lots of stuff here.