if input and output strategy is given for the corefactory instance,
function should not return the current instance but create new one for
the given values.