merged latest from upstream

@bufke : Thanks!