And cleanups. Ugly merge.