Update .gitignore
Introduce basic factory support