fixed set-operations