added bswap