Made some changes to the operationabstract in order to make it more testable.