added comment for all the bit shifting in init