switched to bit shifting