part B (incomplete)