shift self