New byte swapping function