operations factory implementation