refacto factory