refactored operations.