Factory method

Factory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory methodFactory method