use the same ordering like in core/oplist