adding factory