add Factory Method sample