string exchange almost correct