This is the third and the last article in our series. Previous articles: update #1, update #2.
Authors: Ivan Glushenkov, Viktor Krapivenskiy