fix the design of transform