partD partE(slow ~10min) done