Port NarrowPhaseAlgorithm

Signed-off-by: Aleksi Sapon <QcTechs@gmail.com>