renewed shift func and added some actions.