added factor as submodule