added bit shift