add setting factory