make form factory overridable