improve transform