merged latest changes from double-Upstream