put shift operations back in