implemented Module factory