functional shift creation!