Factory and Singleton Pattern, and typo fixes