i found that the main reason for having so many steps is that it allows for a bigger bytetable to be used and there for smaller buildup in the bytes allows for a smoother cycle in the shift. going from center (128) to the left (100) or right (155) was very jumpy.
the table now moves at about 5 bytes per cycle rather than 20-30 in previous attempts.
you may also notice that i have only added X-axis shift for this. Z-axis may also need to be tested.
at the moment, as soon as the robot is started the body starts to shift Left - Right. even without walking. so i need to find the right way to add the code in so that it only starts shifting when walking. ?