add Factory C# files