This is getting purty large. Perhaps we could extract a partial or two.