All the bit shifting is actually correct now.