merge latest code from Uwe Hermann