Added preserve order option