def __init__(self, funct=None, fop=None, **kwargs):
        """Constructor."""
        if fop is not None:
            if not isinstance(fop, pg.frameworks.ParameterModelling):
                pg.critical("We need a fop if type ",
                            pg.frameworks.ParameterModelling)
        elif funct is not None:
            fop = pg.frameworks.ParameterModelling(funct)
        else:
            pg.critical("you should either give a valid fop or a function so "
                        "I can create the fop for you")

        super(ParameterInversionManager, self).__init__(fop, **kwargs)