This code is from @argv, see #1804
If something is wrong, the best thing to do is allow him to create his own project so he can create his own MR ;)
Closes #1804