structure transform