moving operations to operation_handlers