added partial zordering support