add git module and factory