ENH: added topology preserve option