structure-preserving transformatin