right shift modified not to use memove first either :D