added transform function