adding globalization interface, factory, and basic line search