I made changes to the velocity corrections. Basically gave it a tolerance of how close the total velocity in each direction has to be to 0. Now everything appears to be working for me. The kinetic temp is giving strange results (i.e. increasing without bound) but I think that's due to no velocity scaling in this branch.