moved OperatorFactory into operators.py