implemented fractional shifting