Fix shift function