Add phase 2 implementation.