patches by Stephan Göbel