why shift by 1?