add part I, reorg