save component factory