factories setup