shift operations added