https://programmingpraxis.com/2020/03/27/list-rotation/