Collection of th efollowing patch from AndreiLux:

2a8c839fb4190d65f0dca04f7e630f2804400bea
9398bbd02439edbee3cf47bb159fa95269073a68
ad8b184c6d18a33a41ad084c3eacf2317470ca4b
39ec7ec70245e262f854adfec048e4214c6f6082
91ab76debc19a1fe5290369c4b4886dbb54ecbbc
Collection of the following patches of AndreiLux:

fa709c01d23bcb5afe4651bca751327b5f4e22f0
7fce34e1a40c49a2f579ffd1342884cf8bca8e96
ee5ea569afd41b775ce261694c92358962489d66
7b74e912785a11572da43292786ed07ada7e3e0c
5042a551a4805f73c82b5fba0a3c4cc2e372665c