Revert "Revert "Part 3""

This reverts commit a601364e74e959b045026d06c74672dd64c3020b.

Revert "Part 3"

This reverts commit
0e45b923e1ac2b4400846b76a16793b0473fbfa8.