Added teh factory pattern
Minor text updates