lots more stuff; this is a horrible commit message