Added some self balancing

Not complete yet