Incomplete version. Temporarily submitting for part
B