added ObjectFactory
updated gitignore to handle emacs things