moving bits around into more logical ordering. Attempting to factor out other bits