Add Factory
update example