Big work with code, improvments and new features
Merge commit '14e77fe52f62e657bd2ac039b39f3ca268ffa09c'