big update

interval move & load balance work, benchmark is set up for them but has
some errors so don't have performance data yet.
Also did some refactoring & a few other things