tweaked .gitignore
added singleton pattern