fixed byte swapping bug