Though it is all separate topics like join (https://developer.blender.org/D7939#192862), resize (https://developer.blender.org/D7946), join func (https://developer.blender.org/D7970), moving other func around, they related trough common functions. And because there are many small changes I've made in common functions, It's hard for me to keep track of all that in separate branches.
So, now about the code.
If U haven't looked at what it's capable of, check out links above. Also, I will add inline comments below for additional information.
I'm posting it here so u can play around and show me all bugs u have noticed, your wishes and what u think is not good about that in general