Start factory implemetation